目录
概述
行存储和列存储,是数据库底层组织数据的方式。(和文档型、K-V型、时序型等概念不在同一个层次上)
大部分传统的关系型数据库,都是面向行来组织数据的。如MySQL、Postgresql。
行存储
行存储以行的方式来组织数据。
[
{
"title": "Oriented Column Store",
"author": "Alex",
"publish_time": 1508423456,
"like_num": 1024
},
{
"title": "Apache Druid",
"author": "Bob",
"publish_time": 1504423069,
"like_num": 10
},
{
"title": "Algorithm",
"author": "Casey",
"publish_time": 1512523069,
"like_num": 16
}
]
行存储按行的方式,将数据存储在磁盘上。它有利于数据一行一行的写入。因为数据基于行存储,所以对数据的写入会更快。对按记录查询记录也更简单。
行存储更适合OLTP系统。
列存储
列存储将每一列的数据组织在一起。利于对列的操作,列入聚合、统计等。
列存储不利的一面在于数据写入上。当一条新数据到来,需要将每一列存储在对应的位置上。这样就需要多次磁盘操作。
列存储适合OLAP系统。
对比
参考资料: