|
知识路径: > 数据库技术 > 数据库技术基础 > 数据库模型 > 典型数据库:RDB(关系数据库)、OODB(面向对象数据库)、ORDB(对象关系数据库)、XML数据库、NoSQL(非关系数据库) > 非关系型数据库NoSQL > 相关理论基础 > 存储分布 >
|
相关知识点:3个
|
|
|
|
这里首先介绍行存储和列存储。两者之间的主要区别在于,行存储将每条记录的所有字段的数据聚合存储,而列存储将所有记录中相同字段的数据聚合存储。举个简单的例子,见下表。
|
|
|
|
|
对于传统的行存储,表格中的每一行(每一条记录)在磁盘上是紧密排列的,如下所示:
|
|
|
|
|
|
而列存储,将表格中每一列的数据项放在了一起,如下所示:
|
|
|
|
|
|
|
总结来说,行存储主要适用于OLTP,或者更新操作,尤其是插入、删除操作频繁的场合;而列存储主要适用于OLAP,数据仓库,数据挖掘等查询密集型应用。
|
|
|
|
.每个字段的数据聚集存储,在查询只需要少数几个字段的时候能大大减少读取的数据量。而查询密集型应用的特点之一就是查询一般只关心少数几个字段,而行存储每次必须读取整条记录。
|
|
|
.既然一个字段的数据聚集存储,那就更容易为这种聚集存储设计更好的压缩/解压算法。
|
|
|