开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 1 天,点击查看活动详情
生命不息,学习不止
题外话
新年新气象,2023年啦,广大掘友们新年flag都立好了嘛?反正立好了,但是不能告诉你们,这玩意说出来就不灵了,嘿嘿
废话不多说,上货
大名鼎鼎的Clickhouse
Clickhouse在数据库这个圈可以说是大名鼎鼎了,毕竟是列式数据库的代表
解释一下列式数据库 ,列式主要是相对于mysql这种传统的关系型行式数据库来说,可以参考下图
可以看到列式存储是按字段(列)去存储数据,每一行数据都是对列的索引
Oracle 12 已经可以同时支持行式和列式储存了
列式储存优点
clickhouse既然选择了列式储存数据,必然有所有点,可以从两个方面来说
1.数据储存/压缩
相比于行式数据库,列式数据库压缩性能体现的更好,
举个简单的例子,行式储存数据会一条一条存储,哪怕该条数据上某一字段是空的,也必须申请一块内存
列式存储按照字段储存,不用考虑空值问题,灵活性和压缩性相对来说就提高了
下面这个图也很能说明问题
2.数据查询/io
对与行式储存来说,查询时需要将整条数据读入io中,当查询单一字段时,其余字段虽然无用但也读入io中,当数据量庞大时会占用大量资源
对于列式储存来说,单一字段查询只读取但一列,非常适合io机制,减少了大量非必要的资源消耗,适用于海量数据查询的业务场景
总结
clickhouse数据库是一种列式数据库,有着良好的数据压缩和海量数据处理能力,适用于海量数据分析等业务场景
你以为结束了
下一篇我们继续挖坑
大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划!