刚接触clickhouse,对于olap与oltp有点蒙圈。记录一下当前的认知,比较浅显,有志之士多补充修正。

OLAP与OLTP

OLTP:联机事务处理。主要用于数据库,对业务数据进行数据采集,crud,如mysql这些库。

如对user表,查询id=1的学生信息。

OLAP:联机分析处理。主要用于数据仓库,以大量历史数据为基础,主要进行分析查询。

如查询user表中所有学生的平均年龄。

为什么列式数据库比行式数据库查询快?

其实这里的查询速度快只是基于olap操作而言的。

如一张普通的user表,在行式数据库中是这样的

在数据存储中,数据是按页划分的,则行式数据库的存储结构:

在列式数据库中:

存储结构:

这时,如果我们执行上面的oltp操作,查询ID=1的学生,在行式数据库存储中则只需要扫描page1就可以获取到数据进行IO。而在列式数据库中,需要分别扫描page1,page2,page3。

来看执行olap操作,行式数据库需要读取全部的数据,然后再读取计算age。而列式数据库只需要对page3中的内容进行计算就可。

行存储和列存储的结构图:

综上所述:

列存储的数据库更适合OLAP
行存储的数据库更适合OLTP

列式数据库,OLAP与OLTP相关推荐

  1. Hbase与Oracle比较(列式数据库与行式数据库)

    1 主要区别 1.1.Hbase适合大量插入同时又有读的情况 1.2. Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间. Hbase本质上只有一种操作,就是插入,其更新操作是插入一个 ...

  2. 数仓选型必列入考虑的OLAP列式数据库ClickHouse(上)

    概述 定义 ClickHouse官网地址 https://clickhouse.com/ 最新版本22.4.5.9 ClickHouse官网文档地址 https://clickhouse.com/do ...

  3. 联机分析的列式数据库 clickHouse

    ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS). 在传统的行式数据库系统中,数据按如下顺序存储: Row WatchID JavaEnable Title Good ...

  4. 行式数据库 VS 列式数据库

    行式数据库 VS 列式数据库 一   基本概念 1  行式数据库    http://zhusihu.blog.163.com/blog/static/178880235201102381753490 ...

  5. 支持百亿数据场景,海量高性能列式数据库HiStore技术架构解析

    支持百亿数据场景,海量高性能列式数据库HiStore技术架构解析 HiStore介绍 HiStore是阿里中间件团队研发的数据库产品,是一款基于独特的知识网格技术的列式数据库,定位于海量数据高压缩比列 ...

  6. 海量高性能列式数据库HiStore技术架构解析

    HiStore 介绍 HiStore是阿里中间件团队研发的数据库产品,是一款基于独特的知识网格技术的列式数据库,定位于海量数据高压缩比列式存储,是低存 储成本,低维护成本,海量数据OLAP存储引擎;有 ...

  7. 数据仓库一些整理(列式数据库)

    术语备注: 1.OLTP.这是on-line transaction processing的简写.翻译成联机事务处理.就是在线交易的业务数据.这方面的数据库是关系型数据库. 2.OLAP.On-Lin ...

  8. 行式数据库与列式数据库的对比

    导语:随着大数据的发展,现在出现的列式存储和列式数据库.它与传统的行式数据库有很大区别的. 正文: 行式数据库是按照行存储的,行式数据库擅长随机读操作不适合用于大数据.像SQL server,Orac ...

  9. 列式数据库总结(特点)

    简单罗列了一些选择行数据库还是列数据库的权衡依据.当然,如果能够把数据全放在内存中,那么使用内存数据库性能会更好. 在只需要根据某几列来聚合数据的时候按列的数据组织方式更有效.因为这样只需要读取一部分 ...

最新文章

  1. react 组件样式_如何使用样式化组件为React组件创建视觉变体
  2. windows 常用thread方法
  3. delphi开发的小技巧----------------http://www.cto360.com/a/5000086716.shtml
  4. 算法导论--python--插入排序
  5. python pip安装模块失败的原因
  6. 【Linux】一步一步学Linux——df命令(79)
  7. 《Puppet实战手册》——2.5 使用标准的命名约定
  8. java Hello World程序分析(翻译自Java Tutorials)
  9. matlab 中的元组(cell)
  10. Android ToggleButton(状态切换按钮)
  11. 并发之AtomicIntegerFieldUpdater
  12. 计算机半小时后关机代码,电脑自动关机代码
  13. 使用exceljs导出excel表格
  14. java中订单流水号_订单流水号的生成
  15. STREAM内存带宽测试工具介绍及其内部实现
  16. 查询中接受的主体参数
  17. 例子4.11 从键盘输入一个大写字母,要求改用小写字母输出
  18. OBS软件转发直播他人直播画面方式方法(包含插件下载地址)
  19. 图数据库nebula——常用的nGQL
  20. linux内核开启otg,OTG驱动分析(一)

热门文章

  1. python逗号表达式_python自增自减?赋值语句返回值?逗号表达式?
  2. 如何在MATLAB中输入希腊字母
  3. 对冲制裁风险:央行储备中的加密货币(1-4节)
  4. javascriptengine
  5. 哈格管理信息系统【内容整理】
  6. Verilog系统函数—随机数产生
  7. 浪潮inBuilder低代码平台社区版来了!
  8. dds:subscribe:DataReader
  9. Mqtt设置消息超时时间
  10. windows下git使用出错:git push -u origin master fatal: unable to access ‘https://github.com