批里批里 (゜-゜)つ🍺 干杯~|

七つ一旋桜

园龄:4年2个月粉丝:6关注:3

Day18 ClickHouse | 青训营笔记

这是我参与「第五届青训营」伴学笔记创作活动的第 18 天

var code = "539f3c13-f00e-4f8b-a9f3-1482bdbceaa5"

数据库的类型

根据模型分类

  • 关系型数据库:关系型数据库是把数据以表的形式进行存储,然后在各个表之间建立关系,通过这些表之间的关系来操作不同表之间的数据
  • 非关系型数据库:NoSql或非关系数据库,支持存储和操作非结构化数据及半结构化数据。相比于关系型数据库,NoSQL没有固定的表结构,且数据之间不存在表与表之间的关系,数据之间是可以独立的

根据架构分类

  • 单机数据库:在一台计算机上完成数据的存储和查询的数据库系统。""
  • 分布式数据库∶分布式数据库由位于不同站点的两个或多个文件组成。数据库可以存储在多台计算机上,位于同一个物理位置,或分散在不同的网络上。

根据使用场景分类

  • OLTP数据库:OLTP(Online transactional processing)数据库是一种高速分析数据库,专为多个用户执行大量事务而设计。
  • OLAP数据库:OLAP (Online analytical processing)数据库旨在同时分析多个数据维度,帮助团队更好地理解其数据中的复杂关系

OLAP数据库的使用场景:

  • 大量数据的读写,PB级别的存储
  • 多维分析,复杂的聚合函数
  • 窗口函数,自定义IUDF
  • 离线/实时分析

列式存储的优点

数据压缩

  • 数据压缩可以使读的数据量更少,在IO密集型计算中获得更大的性能优势

  • 相同类型压缩效率更高

  • 排序之后压缩效率更高

  • 可以针对不同类型使用不同的压缩算法

数据选择:

  • 可以选择特定的列做计算而不是读所有列

  • 对聚合计算友好

延迟物化: 尽可能推迟物化操作的发生

  • 缓存友好
  • CPU/内存带宽友好
  • 可以利用到执行计划和算子的优化,例如filter
  • 保留直接在压缩列做计算的机会
行存列存
优点数据被保存在一起1. 查询时只有涉及到的列会被读取
2. 投影高效
3. 任何列都能作为索引
4.便于做延迟物化和向量化计算
5. 压缩效率高,每一列可以使用不同的压缩算法
缺点select时即使只涉及某几列,所有数据也会被读取1. select完成时,被选择的列需要重新组装
2. 插入修改麻烦
3. 点查询不适合
适用场景1. 点查询(但会记录少,基于索引的简单查询)
2. 增删改操作较多的场景
1. 统计分析类查询(OLAP,数仓)
2. 即时查询

本文作者:七つ一旋桜

本文链接:https://www.cnblogs.com/poifa/p/17716913.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   七つ一旋桜  阅读(6)  评论(0编辑  收藏  举报  
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起