列式数据库、行式数据库简介

打印 上一主题 下一主题

主题 1047|帖子 1047|积分 3141

常见的行式数据库有Mysql,DB2,Oracle,Sql-server等;列数据库(Column-Based)数据存储方式按列存储,常见的列数据库有Hbase,Hive,Clickhouse,Sybase 等。
1、数据准备

数据表现例:

SQL示例(无索引):

2、行式数据库

行式数据库,优先以行存储,一个块存储多行数据。读取多行时,需要更多的IO,但是读某行的多列数据时,需要更少的IO.

行式存储方式:示例中每一个块存储两行。

通过多次IO操作,找到ssn=666后,可以直接获取到first_name.

通过多次IO操作,找到id=1后,可以直接获取到一行的全部字段.

需要扫描全部的块,进行求和。

3、列式数据库

列式存储数据库:如果取一列值的时间,需要更少的IO;但是如果取多列值的时间需要更多的IO.

列式存储按列存储,如果某列过多,会分块存储。

列式存储可以直接找到ssn对应的列,然后根据ID,找到first_name地点列的值。

如果要查ID=1对应行的全部字段的数据,就要全表扫描了。

找到salary对应列,直接进行求和。

4、行式、列式存储对比

行式:读写;得当OLTP;不压缩;集合操作服从低;对于多列数据的操作服从高;
列式:写慢;得当OLAP;压缩;集合操作服从高;对于多行数据的操作服从高;


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

西河刘卡车医

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表