ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。适合巨量数据环境下用户数据查询、数据分析等工作。ClickHouse 简称为 CH,是近几年日益火起来的一款类数据库分析工具。
2020年至今,ClickHouse就是一批黑马,成功脱颖而出,在各大互联网公司都受到青睐。
表中的数据可以按照指定的字段分区存储,每个分区在文件系统中都是都以目录的形式存在。常用时间字段作为分区字段,数据量大的表可以按照小时分区,数据量小的表可以在按照天分区或者月分区,查询时,使用分区字段作为Where条件,可以有效的过滤掉大量非结果集数据。
ClickHouse 分区的目的是为了尽可能地减少读取的数据量,那么它有哪些特点呢?
在ClickHouse中有专门一张表对partition进行管理,那就是system.parts。
select database,table,partition,name,path,engine from system.parts WHERe table = 'ontime';
常见的一些字段说明:
一个分片本身就是ClickHouse一个实例节点,分片的本质就是为了提高查询效率,将一份全量的数据分成多份(片),从而降低单节点的数据扫描数量,提高查询性能。
上图中,除了分片(Shard)之外,还同时引入了副本(Replica)概念。
副本(Replica)简单理解就是相同的数据备份,在ClickHouse中通过复制集,我们实现了保障数据可靠性外,也通过多副本的方式,增加了ClickHouse查询的并发能力。这里一般有2种方式:1.基于ZooKeeper的表复制方式;2.基于Cluster的复制方式。由于我们推荐的数据写入方式本地表写入,禁止分布式表写入,所以我们的复制表只考虑ZooKeeper的表复制方案。
在集群配置中,Shard标签里面配置的replica互为副本,将internal_replication设置成true,此时写入同一个Shard内的任意一个节点的本地表,ZooKeeper会自动异步的将数据同步到互为副本的另一个节点。
来源:
https://www.toutiao.com/a7057403184083436063/?log_from=7c0724ff356c8_1644390274682
“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com
来都来了,走啥走,留个言呗~
IT大咖说 | 关于版权
由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!
以上就是本篇文章【ClickHouse中分区(Partition)和分片(Shard)概念入门】的全部内容了,欢迎阅览 ! 文章地址:http://houdi.cs-ej.cn/news/306.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 成事e家移动站 http://houdi.cs-ej.cn/mobile/ , 查看更多