数据仓库服务 GAUSSDB(DWS)-实时数仓简介:行存、列存、HStore表对比
行存、列存、HStore表对比
表类型 |
行存表 |
列存表 |
HStore表 |
||
---|---|---|---|---|---|
数据存储方式 |
以元组为单位,将每一条数据的所有属性值存储到临近的空间里。 |
以CU(Compress Unit)为单位,将单个属性的所有值存储到临近的空间里。 |
数据主要以CU形式存储在列存主表上,对于被更新的列、小批量插入的数据将被序列化后存储到新设计的Delta表上。 |
||
数据写入 |
行存压缩暂未商用,数据按原始状态存储,磁盘空间占用较大。 |
按列存储时,由于属性值类型相同具有天然的压缩优势。数据写入时能极大节省IO资源与磁盘空间占用。 |
批量插入的数据直接写入CU,具有与列存一致的压缩优势。 被更新的列、小批量插入的数据会序列化后压缩。同时定期merge到主表CU。 |
||
数据更新 |
数据按行更新,没有CU锁问题,并发更新(update/upsert/delete等)性能好。 |
即使更新单条数据,也要获取整个CU的锁,基本无法支持并发更新(update/upsert/delete等)。 |
彻底解决列存更新的CU锁问题,并发更新(update/upsert/delete等)的性能达到行存的60%以上。 |
||
数据读取 |
按行读取,即使只需访问某一列的数据,也需要将一整行的数据取出。查询性能较差。 |
按列读取时只需访问该列的CU,再加上CU的压缩优势导致需要占用的IO资源更少,读取性能很好。 |
对于列存主表的数据按列读取,对于被更新的列、小批量插入的数据会反序列化后取出,数据merge到主表后具有与列存一致的数据读取优势。 |
||
优点 |
并发更新性能好。 |
查询性能好,磁盘占用空间少。 |
并发更新性能好,数据MERGE后具有与列存一致的查询性能优势与压缩优势。 |
||
缺点 |
占用磁盘空间多,查询性能差。 |
基本无法支持并发更新。 |
需要后台常驻线程对HStore表进行merge清理操作。先merge到CU主表再进行清理,与SQL语法中的Merge无关。 |
||
适用场景 |
|
|
|
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- GaussDB(DWS)服务_什么是IoT数仓_如何使用IoT数仓
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- MapReduce服务_什么是存算分离_如何配置MRS集群存算分离
- GaussDB行转列_数据中台架构pdf_高斯数据库行转列_华为云
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- 如何进行日志采集和转储_日志平台_日志接入_日志转储
- GaussDB行列混合存储_GaussDB规划存储模型_高斯数据库行列混合存储-华为云