ClickHouse简介

简介

ClickHouse是"战斗民族"俄罗斯搜索巨头Yandex公司开源的一个极具"战斗力"的实时数据分析数据库,是面向 OLAP 的分布式列式DBMS,圈内人戏称为"喀秋莎数据库"。ClickHouse简称"CH",但在中文社区里大家更偏爱"CK",反馈是因为有"AK"的感觉!与Hadoop、Spark这些巨无霸组件相比,ClickHouse很轻量级,且不依赖于其他组件。

特点

 列式存储数据库,数据压缩
 快
 关系型、支持SQL
 分布式并行计算,可把单机性能压榨到极限
 高可用
 数据量级在PB级别

适用场景

适用场景从社区分享的案例看主要有以下几类:日志数据的行为分析,标签画像的分析,数据集市层分析;还可作为存储引擎集成在了产品内部,应用于知识图谱作为本体数据存储,及标签数据的存储引擎等。
一般使用方式场景建议:
 绝大多数请求都是用于读访问
 表很"宽",即表中包含大量的列
 在处理单个查询时需要高吞吐量
 每次查询中大多数场景查询一个大表
 查询结果显著小于数据源,即数据有过滤或聚合

核心概念分类

  1. 表引擎(Engine)
    表引擎决定了数据在文件系统中的存储方式,常用的也是官方推荐的存储引擎是MergeTree系列,如果需要数据副本的话可以使用ReplicatedMergeTree系列,相当于MergeTree的副本版本。读取集群数据需要使用分布式表引擎Distribute。
    注:其他常见的引擎可参考官方文档(https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/)
  2. 表分区(Partition)
    表中的数据可以按照指定的字段分区存储,每个分区在文件系统中都是都以目录的形式存在。常用时间字段作为分区字段,数据量大的表可以按照小时分区,数据量小的表可以在按照天分区或者月分区,查询时,使用分区字段作为Where条件,可以有效的过滤掉大量非结果集数据。
  3. 分片(Shard)
    一个分片本身就是ClickHouse一个实例节点,分片的本质就是为了提高查询效率,将一份全量的数据分成多份(片),从而降低单节点的数据扫描数量,提高查询性能。
  4. 复制集(Replication)
    简单理解就是相同的数据备份,在CK中通过复制集,我们实现保障了数据可靠性外,也通过多副本的方式,增加了CK查询的并发能力。这里一般有2种方式:1、基于ZooKeeper的表复制方式;2、基于Cluster的复制方式。由于我们推荐的数据写入方式本地表写入,禁止分布式表写入,所以我们的复制表只考虑ZooKeeper的表复制方案。
  5. 集群(Cluster)
    可以使用多个ClickHouse实例组成一个集群,并统一对外提供服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值