列数据库将同一数据列的值存储在一起。
插入数据行时,该行每个数据列的值也将存储在不同的位置。列存储:每列单独存储,数据为索引。仅访问相关列。如果我们想访问一个列(如name),它将非常快。一行数据包含一列或多列,每列有一个单元格来存储数据。行存储是将一行数据作为一个整体进行存储。在hana的世界中,不仅有列存储,还有行存储。优缺点:详细比较:
m行存储元素时,m[3][5]=m[0][0](8*35)*4m[0][0]的存储地址是第一个元素的存储地址。当m按列存储元素时,m[3][5]=m[0][0](7*53)*4的存储地址
数据库列存储不同于传统的关系数据库。它的数据按行存储在表中。列模式的一个重要优点是,查询中的选择规则是由列定义的,因此整个数据库会自动建立索引。
按列存储每个字段的数据聚合存储可以大大减少在只需要几个字段进行查询时读取的数据量。如果使用一个字段的数据聚合存储,则更容易为这种聚合存储设计更好的压缩/解压缩算法。
什么是列存储和行存储
列存储是指表中的列按顺序存储在内存中。
目前大数据存储有两种方案:行存储和列存储。
业界对这两种存储解决方案有很多争论,焦点是:谁能更有效地处理海量数据,并兼顾安全性、可靠性和完整性。从目前的发展情况来看,关系数据库已经不适应庞大的存储和计算需求,基本被淘汰。在已知的大数据处理软件中,hadoop的hbase采用列存储,mongodb采用文档式行存储,lexst采用二进制行存储。在这里,我将不讨论这些软件的技术、优缺点,而只关注机械盘的物理特性,分析行存储和列存储的存储特性,以及由此产生的一些问题和解决方案。