一 简介:列式数据库clickhouse的安装与基本操作
二 基本介绍:ClickHouse来自俄罗斯,是一款列式数据库
三 适用场景: 简单类型的大数据统计
四 限制
1 不支持更新操作,不支持事务
2 不支持二级索引,只有主键(主键包含单列主键和联合主键)
3 对精度相关类型有限制,包括存储和计算(时间类型经过验证最新版本已经支持)
4 有限的SQL支持,join实现与众不同。如果需要在从MySQL或Spark进行迁移,则可能必须重新编写包含联接的所有查询。
5 不支持窗口功能
6 复制集群不支持create,drop等操作
7 delete删除大量数据可能有延迟,如果删除全表数据建议使用truncate
五 优势
1 列式存储数据库,数据压缩和查询效率对比mysql有了很大的提升
2 关系型、支持大部分标准SQL
3 针对MYSQL的数据迁移是非常友好的,不再需要第三方工具
4 分布式并行计算,把单机性能压榨到极限
5 复制集群
1极高的同步性能,支持多写
2 拥有数据校验功能,能保持复制的一致性
3 有很高的扩展性
6数据量级能达到PB级别
六 引擎推荐
1 MergeTree,是CK里最Advanced的引擎,性能超高,单机写入可以达到50w峰值,查询性能非常快,单台DB首选
2 ReplicatedMergeTree,基于MergeTree,同时引入ZK,做了复制,
3 Distributed,分布式引擎,本身不存储数据,可认为就是一张View,如果写入,会把请求丢到集群里的节点(有算法控制),如果查询,会帮你做查询转发再聚合返回 集群首选
七 安装-单机部署
curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh |bash
如果按照失败,需要禁用IPV6 echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6
yum install -y clickhouse-server clickhouse-client
启动
service clickhouse-server start
登录
clickhouse-client
如果因为网络问题无法安装成功,需要自行下载四个rpm包
clickhouse-server-common clickhouse-server clickhouse-common-static clickhouse-client
八 配置文件
/etc/clickhouse-server
config-preprocessed.xml
config.xml 数据库相关配置->具体配置请参考文档,这里只列出一些基本
<--data dictory-->
users-preprocessed.xml
users.xml
九 常见操作
十 补充
1 https://packagecloud.io/altinity/clickhouse rpm包下载
2 一定要选择社区最新的版本,重要的话说三遍,因为最新版是最完整的状态