clickhouse 列式存储数据库介绍

ClickHouse介绍

  • ClickHouse来自哪里?

俄罗斯最大的搜索公司Yandex,在clickhouse的配置文件中我们也会看到yandex的影子。

  • ClickHouse是什么?

ClickHouse是一个开源的列式数据库(DBMS),主要用于在线分析处理查询(OLAP),于2016年开源,采用C++开发。凭借优秀的性能,市场反应非常热烈。

  • 什么是列式数据库?

相对行式数据库,像Mysql、Oracle、SqlServer等都是行式存储,是把同一行的数据放到相邻同一数据块种,而列式存储是把同一列的数据放到相邻同一数据块种,这样在进行计算类查询时,可以大大减少IO消耗,返回结果更快,采用列式存储后在进行数据记录写入的时候会麻烦一些。

行式存储:

列式存储:

性能测试

主要特性

  • 丰富的表引擎,主要用到以下表引擎

MergeTree引擎家族:ReplicatedMergeTree

Distributed分布式引擎

  • 矢量计算:减少调用次数,适用现代CPU的扩展指令集支持SIMD
  • 丰富的SQL和函数
  • 强有力的数据压缩:相对mysql压缩10倍
  • 分布式处理
  • 列式存储:降低io消耗
  • 数据复制完整性
  • 集群式管理
  • 可直接读取MYSQL数据

       待完善功能:

  • 不支持二级索引
  • 不支持事物:不适合OLTP
  • 低并发:不适合高QPS的KV存储
  • 对长文本支持差:建议用ES

架构:采用分布式+高可用集群

  1. Clickhouse分布式通过配置文件来实现,同一集群配置多个shard,每个shard都配置相同的配置文件;而高可用需要借助zookeeper来实现,表采用ReplicatedMergeTree引擎,共享同一个ZK路径的表,会相互同步数据;

  1. ReplicatedMergeTree,复制引擎,基于MergeTree,实现数据复制,即高可用;
  2. Distributed,分布式引擎,本身不存储数据,将数据分发汇总;
  3. app不管连接哪台shard,通过访问Distributed引擎表,读取的数据都是一致的。

官方网站:

         https://clickhouse.yandex/docs/en

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值