Clickhouse从入门到入坑(1)

282 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 1 天,点击查看活动详情

生命不息,学习不止

题外话

新年新气象,2023年啦,广大掘友们新年flag都立好了嘛?反正立好了,但是不能告诉你们,这玩意说出来就不灵了,嘿嘿

废话不多说,上货

在这里插入图片描述

大名鼎鼎的Clickhouse

Clickhouse在数据库这个圈可以说是大名鼎鼎了,毕竟是列式数据库的代表

解释一下列式数据库 ,列式主要是相对于mysql这种传统的关系型行式数据库来说,可以参考下图

image.png

可以看到列式存储是按字段(列)去存储数据,每一行数据都是对列的索引

Oracle 12 已经可以同时支持行式和列式储存了

列式储存优点

clickhouse既然选择了列式储存数据,必然有所有点,可以从两个方面来说

1.数据储存/压缩

相比于行式数据库,列式数据库压缩性能体现的更好,

举个简单的例子,行式储存数据会一条一条存储,哪怕该条数据上某一字段是空的,也必须申请一块内存

列式存储按照字段储存,不用考虑空值问题,灵活性和压缩性相对来说就提高了

下面这个图也很能说明问题

image.png

2.数据查询/io

对与行式储存来说,查询时需要将整条数据读入io中,当查询单一字段时,其余字段虽然无用但也读入io中,当数据量庞大时会占用大量资源

对于列式储存来说,单一字段查询只读取但一列,非常适合io机制,减少了大量非必要的资源消耗,适用于海量数据查询的业务场景

总结

clickhouse数据库是一种列式数据库,有着良好的数据压缩和海量数据处理能力,适用于海量数据分析等业务场景

你以为结束了

下一篇我们继续挖坑

在这里插入图片描述

大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划! 在这里插入图片描述