Clickhouse 适合作为MYSQL OLAP 解决方案吗 --大数据处理
上期讲了 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 一部分的功能,更多的数据分析和处理的功能还在了解和学习中.
相关文章