暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

clickhouse数据学习

原创 手机用户9261 2023-09-18
101

clickhouse


clickhouse是什么?
ClickHouse是一个用于在线分析处理查询(OLAP)的列式数据库管理系统(DBMS),能够使用SQL查询实时生成分析数据报告。它由俄罗斯的Yandex于2016年开源,具有高性能、高可靠性、高压缩率、高扩展性等特点。

2. 为什么要用clickhouse?
因为clickhouse有以下优点

高性能:ClickHouse是一个高性能的列式数据库,能够快速处理大量的数据分析查询,相比传统的行式数据库或者Hadoop生态,有几倍甚至几百倍的性能优势。
易用性:ClickHouse支持SQL语言,提供了传统关系型数据库的便利,同时也支持一些高级功能,如聚合函数、窗口函数、数组操作、字典操作等。
高可靠和高扩展性:ClickHouse具有高可靠性和高扩展性,支持分区和复制机制,可以应用到大规模的生产环境中,目前已经有很多知名企业在使用ClickHouse进行数据分析。
高压缩率:ClickHouse具有高压缩率,可以节省存储空间和网络带宽。


不过ClickHouse也不是完美的,它也有一些缺点和局限性:

ClickHouse不适合做联机事务处理(OLTP),它主要针对只读或者追加写入的场景。
ClickHouse不支持更新和删除单条记录,只能通过替换分区或者使用物化视图来实现。
ClickHouse不支持外键、主键、约束等关系型数据库的特性。
ClickHouse对于复杂的多表连接查询效率较低。
所以,我们在开发过程中是否需要使用ClickHouse取决于你的业务需求和场景。如果你需要进行大数据量、实时、快速的数据分析查询,并且不太关心事务一致性和数据更新删除操作,那么ClickHouse可能是一个很好的选择。如果你需要进行频繁的数据更新删除操作,并且需要保证事务完整性和关系完整性,那么ClickHouse可能不太适合你。

3. 小白初次使用流程
我们首先了解有哪些存储引擎,了解了后用常用的MergeTree构建一个最简单的本地数据表,然后再进一步使用ReplicatedMergeTree解决数据复制,性能扩展的问题,最后再结合ReplicatedMergeTree + Distributed 来解决分布多个节点的数据查询和写入问题。



3.1 了解存储引擎
因为clickhouse需要自己选表引擎,所以我们先了解一下有哪些表引擎

clickhouse最常用的表引擎是MergeTree系列,它们可以处理大规模的数据分析任务。MergeTree系列的表引擎都基于以下几个特点:

数据按照主键排序存储在磁盘上,每个数据块都有一个最小值和最大值,方便进行范围查询。
数据按照分区键进行分区,每个分区可以包含多个数据块。分区可以在不同的节点上进行复制和负载均衡。
数据可以按照一定规则进行合并,以减少数据块的数量和提高查询效率。
数据可以设置索引(主键索引、辅助索引、全

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论