引言
很多人刚开始学习数据库的时候可能接触到的都是关系型数据库RDS,它是基于行式存储的思想来进行数据存储的;但是数据库存储领域还有一个不容小觑的力量,非关系型数据库NoSQL,其中一部分NoSQL数据库是采用了列式存储的思想,那么我们不禁发问,行式存储和列式存储到底有什么区别?什么样的场景下列式存储类型的数据库更加适用呢?
今天这篇文章我们就来探究一下行式存储和列式存储的区别和联系。
行式存储VS 列式存储
行式存储
传统的数据库是关系型的,且是按行来存储的。如下图
行式存储示意图
观察上图,我们不难发现:因为每个人学历不一样的原因,只有张三一个人将整行数据都填满了,李四、王五、赵六的数据都没有将对应的行填满。因为这里的行结构是固定的,每一行都一样,即使你不用,也必须空到那里,而不能没有,而这样的空行也是需要占用一定的存储空间的,如果这样的空行占比较大,势必带来较大的存储空间的浪费,那么是否有什么好的解决办法么?
列式存储
为了与传统的区别,新型数据库叫做非关系型数据库,是按列来存储的。如下图:
列式存储示意图
下面给出行存储与列存储的映射关系:
原