行式数据库(Row-Based)数据按行存储,常见的行式数据库有Mysql,DB2,Oracle,Sql-server等;列数据库(Column-Based)数据存储方式按列存储,常见的列数据库有Hbase,Hive,Clickhouse,Sybase等。行存储是将整行放入连续的物理位置,就像传统的记录存储或文件存储方式,列存储是按列将连续的某几列数据放入连续的物理存储单元中,两种存储方法如下图所示。行存储的特点
数据是按行存储的没有索引的查询会消耗大量的IO资源建立索引和视图需要耗费大量的时间和系统资源面对高并发的查询,数据库必须被大量膨胀才能满足性能需求列存储特点
数据按列存储—每一列单独存放数据即是索引,无须另建索引只访问查询所涉及到的列(与行数据库不同)--节省IO开支可以高效压缩查询的并发处理性能高实操看列式数据库性能优点
查询年满20岁人员姓名住址(表名为person)selectname,addrfrompersonwhereage20列式存储读取3列
行式存储读取所有列
应用场景行存储数据库适用在OLTP(on-linetransactionprocessing)场景即联机事务处理,而列数据库适合适用在大数据分析OLAP(on-lineAnalyticalprocessing)联机分析处理,当然不管是列数据库还是行数据库起功能或能力都不是万能的,只是给DBA多提供了一个可选方案,具体项目执行需要架构师根据项目实际情况选择最合适的方案。
文章来源: