ClickHouse为什么这么火?

简介: ClickHouse为什么这么火?

这是我的第88篇原创

昨天参加了ClickHouse第二次线上大会,绝大多数时间都是俄罗斯老哥飙着带拐弯的俄罗斯口音英语,有点蒙圈。本来还想偷师,结果水平实在是不行,没听懂。


好在之前就已经了解过一些,要不昨天还白听了。


OLAP届的新秀

数据处理现在还是分为OLTP和OLAP。

OLTP(在线事务处理)优化的方向是高并发、高可用,是精确,是各种增删改查。所以面临和解决的问题都是怎么解决高并发下的增删改查,怎么解决脏读、脏写,保证数据一致性等问题。

OLAP(在线分析处理)的优化方向则是高速数据处理能力、高速读取能力。一般又分为两个优化方向,一个是预先计算好各个维度的数据,存成CUBE,分析的时候直接查询结果就行,这是MOLAP(Multidimensional OLAP,多维在线分析处理),典型代表的是Kylin。一个是结构化存好,然后用尽各种方法优化,分析的时候拼命计算,这是ROLAP(Relational OLAP,关系型在线分析处理),典型代表就是ClickHouse了。


ClickHouse有多火?在大数据领域,这个CK可是比内裤的CK更有吸引力的多!给你两张图感受一下:


注意看最后一个哈,经验不限,20-40K!


ClickHouse的特性

我以前是非常摒弃ROLAP的,因为实在是太慢了。ROLAP都是现算的,以前的套路基本都是生成一个巨复杂的sql扔到数据库里跑,那样能不慢么?


但是这个ClickHouse却不一样,它最显著的特性就是快!这不科学啊!

上图来自于Clickhouse-百分点分享

虽然各种测评都会选择偏向自己的指标,但是这也太悬殊了吧?ClickHouse的创始人yandex公司的同事出来解释过,有点让我失望,并不是一个非常牛的算法或者方案,而是从硬件开始向上一点一点的优化。是不是特别惊讶?


所以ClickHouse另外一个特性就是独立,不需要任何组件的依赖,貌似现在都有往这方面发展的趋势,比如Doris也是不需要依赖的。我们知道Kylin是需要依赖Hbase的。这就会引起各种各样的组件版本问题。想想就头大!


ClickHouse在运行的时候,会用掉服务器的所有资源,不仅仅是内存哦!甚至你查一个简单但是数据,都会吃掉50%以上的CPU!!!


另外,CK还有以下特性:

  • PB级数据处理能力
  • 列式数据存储
  • 优秀的数据压缩
  • 多核并行处理
  • 多服务器分布式处理
  • SQL支持(部分语句有点怪)
  • 向量化引擎
  • 支持实时数据更新
  • 高吞吐写入
  • 近似计算
  • 少依赖,上手非常容易


至于不支持事务处理、不太支持删除、修改等问题,这根本就是不OLAP的需要好么?虽然说数仓也偶然会有改数据的可能,但要支持的那么好干啥?对吧?


ClickHouse的应用和支持

ClickHouse有中文社区,点击访问ClickHouse中文社区。


ClickHouse除了完成ROLAP基础操作之外,还可以结合各种技巧完成各种骚操作。

苏宁用CK结合bitmap做标签圈人和用户画像:

腾讯用CK来做实时、精准的游戏在线实时OLAP分析:

字节用CK搭建数据中台。

相关文章
|
8天前
|
SQL 消息中间件 关系型数据库
ClickHouse(04)如何搭建ClickHouse集群
ClickHouse集群的搭建和部署和单机的部署是类似的,主要在于配置的不一致,如果需要了解ClickHouse单机的安装设部署,可以看看这篇文章,[ClickHouse(03)ClickHouse怎么安装和部署](https://zhuanlan.zhihu.com/p/532431053)。
122 1
|
OLAP 数据库 索引
59.【clickhouse】ClickHouse从入门到放弃-分区表
【clickhouse】ClickHouse从入门到放弃-分区表
59.【clickhouse】ClickHouse从入门到放弃-分区表
|
3天前
|
关系型数据库 MySQL 数据库
ClickHouse(07)ClickHouse数据库引擎解析
ClickHouse支持多种数据库引擎,包括Atomic(默认)、MySQL、MaterializeMySQL、Lazy、PostgreSQL、MaterializedPostgreSQL。Atomic提供非阻塞的表操作和原子的表交换,有UUID标识和延迟删除功能。MySQL引擎允许与远程MySQL服务器交互,支持INSERT和SELECT,不支持RENAME操作。PostgreSQL引擎类似,可与远程PostgreSQL服务进行读写操作。SQLite引擎用于连接SQLite数据库。实验性引擎如MaterializeMySQL和MaterializedPostgreSQL用于实现实时数据同步。
28 5
|
8天前
|
存储 SQL 网络协议
ClickHouse(05)ClickHouse数据类型详解
ClickHouse是一款分析型数据库,支持基础、复合和特殊数据类型。基础类型包括数值(Int、Float、Decimal)、字符串(String、FixedString、UUID)和时间(DateTime、DateTime64、Date)类型。数值类型如Int8-64和Float32-64,Decimal提供高精度计算。字符串中的FixedString有固定长度,UUID作为主键。时间类型最高精度到秒。复合类型有数组、元组、枚举和嵌套,其中数组和元组允许不同数据类型,枚举节省空间,嵌套类型是多维数组结构。特殊类型如Nullable表示可为空,Domain封装IPv4和IPv6。
68 1
ClickHouse(05)ClickHouse数据类型详解
|
8天前
|
存储 分布式计算 Hadoop
ClickHouse(01)什么是ClickHouse,ClickHouse适用于什么场景
ClickHouse是一款高性能的列式存储OLAP数据库,由俄罗斯的Yandex公司开发,用于在线分析处理(OLAP)。它提供秒级大数据查询,适用于商业智能、广告流量等领域。ClickHouse速度快的原因包括列式存储、数据压缩、向量化执行和多线程分布式处理。然而,它不支持事务,不适合OLTP操作。相比Hadoop生态中的查询引擎,ClickHouse在大量数据查询上表现出色。一系列的文章详细介绍了ClickHouse的各个方面,包括安装、表引擎和使用场景。
70 0
ClickHouse(01)什么是ClickHouse,ClickHouse适用于什么场景
|
8天前
|
存储 SQL Linux
ClickHouse(03)ClickHouse怎么安装和部署
本文会介绍如何安装和部署ClickHouse,官方推荐的几种安装模式,以及安装之后如何启动,ClickHouse集群如何配置等。
139 1
|
10月前
|
SQL 数据采集 存储
|
8天前
|
OLAP 数据库管理
ClickHouse
ClickHouse
30 0
|
8月前
|
SQL 存储 算法
01-Clickhouse
01-Clickhouse
|
9月前
|
存储 SQL NoSQL
ClickHouse v23.6
• 10 new features. • 12 performance optimisations. • 31 bug fixes.
ClickHouse v23.6