认识ClickHouse

作者: Huang Jinqiang 分类: Database 发布时间: 2018-06-21 01:07

1. 关于ClickHouse
ClickHouse是一个面向联机分析处理(OLAP)的开源的面向列式存储的DBMS,简称CK, 与Hadoop, Spark相比,ClickHouse很轻量级
发布日期: 2016年06月15日
官网: clickhouse.yandex
开发者: 俄罗斯的搜索公司Yandex公司
开发语言: C++
开源许可证: Apache License 2.0

2. ClickHouse的特点
开源的列存储数据库管理系统,支持线性扩展,简单方便,高可靠性,容错
跑分快:比Vertica快5倍,比Hive快279倍,比MySQL快800倍
功能多:支持数据统计分析各种场景,支持类SQL查询,异地复制部署
文艺范:

3. ClickHouse关键功能和应用场景
关键功能:
深度列存储
向量化查询执行
数据压缩
并行和分布式查询
实时数据注入
跨数据中心的备份
磁盘上的数据访问局部性
类SQL支持
局部和分布式的join
可插入式的纬度表
预估查询处理
支持IPV6数据格式
网站和应用分析
应用场景:用于结构良好清晰且不可变的事件或日志流分析
Web和App分析,广告网络和RTB,电信,电子商务和金融,信息安全,监测和遥感,时间序列,商业智能,网络游戏,物联网
不适合的场景:
事务性工作(OLTP),高请求率的键值访问,Blob或文档存储,超标准化数据

4. ClickHouse入门安装
目前ClickHouse对ubuntu系统支持比较友好,CentOS可以使用Altinity公司提供的rpm,其中Altinity公司是一家ClickHouse的服务供应商
(1). 添加yum源
curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | bash
(2). 安装
yum -y install clickhouse-server clickhouse-client clickhouse-server-common clickhouse-compressor
(3). 启动
/etc/init.d/clickhouse-server start
启动以后可以看到三个端口
9000端口,用于接受客户端请求
9009端口,用于集群复制数据
8123端口,http请求端口
(4). 登录测试
[root@isql ~]# clickhouse-client
ClickHouse client version 1.1.54385.
Connecting to localhost:9000.
Connected to ClickHouse server version 1.1.54385.

isql 🙂 select 1;

SELECT 1

┌─1─┐
│ 1 │
└───┘

1 rows in set. Elapsed: 0.007 sec.

isql 🙂 select now();

SELECT now()

┌───────────────now()─┐
│ 2018-06-13 15:25:54 │
└─────────────────────┘

1 rows in set. Elapsed: 0.002 sec.

clickhouse-client的简单使用
交互模式clickhouse-client --host=... --port=... --user=... --password=...
多行查询clickhouse-client -m或clickhouse-client --multiline,建表的时候就需要启用多行查询,否则会报错

以批处理方式运行查询
clickhouse-client --query='SELECT 1'
echo 'SELECT 1' | clickhouse-client

从指定格式的文件插入数据
clickhouse-client --query='INSERT INTO table VALUES' < data.txt
clickhouse-client --query='INSERT INTO table FORMAT TabSeparated' < data.tsv

发表评论

电子邮件地址不会被公开。 必填项已用*标注