首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识ClickHouse:来自战斗民族的OLAP利器

初识ClickHouse:来自战斗民族的OLAP利器

作者头像
大数据技术架构
修改2020-06-05 16:07:06
2.1K0
修改2020-06-05 16:07:06
举报

ClickHouse是一个用于数据分析(OLAP)的列式数据库管理系统(column-oriented DBMS),诞生于“战斗民族”俄罗斯,由搜索巨头Yandex公司开源。目前国内不少大厂在使用,包括腾讯、今日头条、携程、快手等,集群规模多达数千节点,阿里云更是推出了云产品ClickHouse。官方介绍:

ClickHouse is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).

ClickHouse一定是有不可取代或者不可或缺的特点,才能使得它这么受青睐。

ClickHouse特点

ClickHouse从OLAP场景需求出发,定制开发了一套全新的高效列式存储引擎。

列式存储

ClickHouse是一个列式数据库,列式就意味着按列存储与扫描,拥有更小的io操作、更高的压缩比,非常适合于OLAP场景。列式与行式的差异可见下图:

速度快

ClickHouse是一个非常快的数据库系统,数据不仅按列存储、使用高效压缩减少io,同时还支持向量化执行引擎,能够充分使用CPU性能。

ClickHouse不仅查询快,处理单查询高吞吐量每台服务器每秒最多数十亿行;写入速度也非常快,对于大量的数据更新非常适用。

ClickHouse到底有多快?可以参考社区的一个性能测试报表。

另外ClickHouse在单表查询时表现优秀,领跑其他查询引擎,参考:

但是在多表关联查询时,性能表现相对比较差,更多性能测试报告,可以参见:http://www.clickhouse.com.cn/topic/5c453371389ad55f127768ea。

功能丰富

在使用方面,除了速度快,ClickHouse支持大部分的SQL语法,不过目前还有一定限制;ClickHouse支持实时的数据更新,适用于在线查询。ClickHouse具有良好的可扩展性,支持单节点与分布式部署,可以扩展到成百上千个节点,单个节点可容纳万亿行数据或超过100TB数据。此外,ClickHouse还支持主键索引、稀疏索引、数据Sharding、数据Partitioning、TTL、主备复制等特性,参见文末链接的文章。

接下来我们看一看 ClickHouse有哪些应用场景和使用限制。

应用场景与限制

ClickHouse的应用场景:

1.绝大多数请求都是用于读访问的 2.数据需要以大批次(大于1000行)进行更新,而不是单行更新;或者根本没有更新操作 3.数据只是添加到数据库,没有必要修改 4.读取数据时,会从数据库中提取出大量的行,但只用到一小部分列 5.表很“宽”,即表中包含大量的列 6.查询频率相对较低(通常每台服务器每秒查询数百次或更少) 7.对于简单查询,允许大约50毫秒的延迟 8.列的值是比较小的数值和短字符串(例如,每个URL只有60个字节) 9.在处理单个查询时需要高吞吐量(每台服务器每秒高达数十亿行) 10.不需要事务 11.数据一致性要求较低 12.每次查询中只会查询一个大表。除了一个大表,其余都是小表 13.查询结果显著小于数据源。即数据有过滤或聚合。返回结果不超过单个服务器内存大小

相应地,使用ClickHouse也有其本身的限制:

1.不支持真正的删除/更新支持 不支持事务(期待后续版本支持) 2.不支持二级索引(新版本已经支持) 3.有限的SQL支持,join实现与众不同 4.不支持窗口功能 5.元数据管理需要人工干预维护

ClickHouse因性能卓越,被广泛应用于各种分析场景(特别是单表查询),例如用户行为分析、日志分析等。我们先从这几个方面认识下ClickHouse,对其有一个大概的了解。

参考:

https://clickhouse.tech/docs/en/

https://zhuanlan.zhihu.com/p/98135840

https://zhuanlan.zhihu.com/p/22165241

https://zhuanlan.zhihu.com/p/71014268

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据技术架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ClickHouse特点
    • 列式存储
      • 速度快
        • 功能丰富
        • 应用场景与限制
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档