Clickhouse 适合作为MYSQL OLAP 解决方案吗 --大数据处理

2021-04-25 00:00:00 数据 数据库 方式 压缩 计算

上期讲了 CLICKHOUSE 可以算是MYSQL生态闭环的一个关键的位置,OLAP的缺失让MYSQL 对比其他数据库,败的一塌糊涂。  CLICKHOUSE 作为MYSQL的OLAP的功能扩展,可以将对手甩的更远。实际上大数据处理的方式越来越多,但在处理方面也要考虑成本的问题,复杂的结构和简单的结构比起来, 可能简单的结构比传统的方式更有效,快速成本更低.


那么到底CLICKHOUSE 在OLAP 为什么就很快,部分的特点和原理在哪里.


主要的原因在于列式存储,Clickhouse 是通过列式存储的方式进行数据的基本存储的.

原来在MYSQL存储的数据都是以行的方式存储,调用也是通过提取行的方式来进行数据的处理,查询和展示. Clickhouse 则是对一个表中的列来分别存储,并形成文件,这样的好处对于数据分析来说,是明显的.


1  clickhouse 采用的提高数据处理的方法 -----  缩减数据的尺寸


已列为存储的方式的好处是

1  列中的值可以用代替法来进行数据的压缩,例如列中的值仅仅有几种,并且值比较长,那么就可以通过替换的方法,用其他的方式来代表这个值,缩小数据的存储量.

2  通过特殊的类型转换,以及压缩技术,对某个列进行数据的压缩.


上面是数据压缩和未压缩的比较,有些数据压缩后,效果是非常明显的.


通过数据的压缩后,在进行查询则数据量不一样,计算的速度也不一样,查询的速度提高了4倍.




在数据库中有key value的存储,clickhouse中可以通过如上的方式来进行数据的存储,如通过将key 和 value 进行拆分,通过数组的方式来进行数据的存储.

但数据查询的时候,可以将其在变化为所谓的key value 的方式



加速数据的处理的方法第三种可以理解为,能在数据录入的时就进行计算的,可以提前在数据获取的时候,就进行计算,而不是到后面在写SQL 的时候在进行计算.


在clickhouse中可以直接调用的mysql的数据,进行数据的查询

这样的方式也比较适合,临时有一个MYSQL的表参与到数据的分析中,那么可以直接在CLICKHOUSE中建立一个和MYSQL的连接,直接在CLICKHOUSE 调用他.当然CLICKHOUSE 本身就是一个数据仓库的解决方案, 只是他对于MYSQL 数据库更友好,更方便被使用.


以上仅仅是 clickhouse 一部分的功能,更多的数据分析和处理的功能还在了解和学习中.



相关文章