行式存储
传统的数据库是关系型的,且是按行来存储的。如下图:
其中只有张三把一行数据填满了,李四王五赵六的行都没有填满。因为这里的行结构是固定的,每一行都一样,即使你不用,也必须空到那里,而不能没有。来一张形象的图:
不管你坐或不坐,座位都在那里,不离不弃。
列式存储
为了与传统的区别,新型数据库叫做非关系型数据库,是按列来存储的。如下图:
初次看列式存储稍微有点懵,下面给出行存与列存的转换:
原来张三的一列(单元格)数据对应现在张三的一行数据。原来张三的六列数据变成了现在的六行。
原来的六列数据是在一行,所以共用一个主键(即张三)。现在变成了六行,每行都需要一个主键(不然不知道这行数据是谁的),所以原来的主键(即张三)重复了六次。如下图:
由于原来的列变为了现在的行,有需要就加一行,没需要就不加,不会造成空间浪费。来一张形象的图:
(摆渡车内部就是一个大平板)
你要站便站,我给你空间,你不站便不站,还给我空间。
行列对比
① 行式存储倾向于结构固定ÿ