首页 > 编程知识 正文

行式存储和列式存储的优缺点,列存储相比行存储的优点

时间:2023-05-05 11:14:40 阅读:189232 作者:439

文章目录存储方式的优缺点比较简单的比较线性存储的优点线性存储的缺点线性存储的优点将线性存储的缺点应用于比较场景的比较参考

存储方式的比较

线路存储器是指每行的所有数据都存在于一个块中,在各块之间连续存储。 列存储是指每列中的所有数据都存在于一起,并且可以在不同列之间单独保存。

MySQL的infobright存储引擎是线内存储,而InnoDB和MyISAM存储引擎是线内存储。

列存储是非关系数据库之一,非关系数据库的目的是消除关系数据库的关系特性,消除数据之间的关系,提高可扩展性。 非关系数据库一般具有大数据量、高性能的特点,典型的有密钥值存储数据库等。

HBase严格来说不能说是专栏存储。 被称为专栏存储。 关于其具体的存储方法,请参照这篇文章。 5分钟就能轻松了解HBase的专栏存储,美丽的绿茶博客公园

优点和缺点的单纯比较/线性存储器的优点数据被汇总保存,

如果INSERT/UPDATE易于查询,则只读取相关列。

“投影”是高效的。

如果可以将任何列选为索引的优点(Selection ),则即使只涉及几个列,在已读取所有数据并完成选择后,也会重新组装选定的列。

INSERT/UPDATE麻烦的重复性存储的优点是,每行的所有字段都存在于一起,因此,“插入”(INSERT )和“更新”(UPDATE )操作很容易。 整个表格的查询比较方便,可以马上组装整个表格。 对于行存储器缺陷查询(SELECT ),如果涉及某个数据,则必须将该行中的所有数据内容读取到存储器中。 即使只是SELECT的一两个字段也必须读取整行的数据。 根据上述理由,读取数据时硬盘的地址范围很广。 为了加快查询的速度,必须编制索引,编制索引需要很多时间。 空值也必须占有一定的空间。 列存储列存储的优点是,每个列都单独保存,因此对于只有选择列,可以只读取所需的列。 这等效于为每列创建了一个索引。 由于这些原因,对每一列进行统计分析(投影操作)很有用,例如某一列中某一数据的出现频率、某一列的平均值、排序等。 因此,栏目存储通常为决策分析场景提供服务,通常是大数据。 由于仅搜索所需的列,因此HDD的查找范围很窄。 数据压缩。 通过为每列创建和保存词典并只保存数字代码,可以降低存储空间要求,如下图所示。 例如,一个网站包含访问该网站的所有用户的姓名、IP、性别、国家等。 保存时可以为每列生成词典。 例如,国家、数据库中每个国家的词典都有代码,保存时保存该代码即可,不需要为每个数据保存完整的字符串。 列存储缺陷选择完成后,需要重新组装选定的数据。 插入和修改操作很麻烦。 下图是将压缩数据和读取数据存储在列中的原理。

读取数据的过程是首先查询字典中与某个值对应的代码(数字),然后对该列进行匹配,通过对多列查询结果和运算得到数据表中哪一行数据一致,然后将这些数据进行组装得到查询结果。

场景比较行存储用于存储关系数据,在使用数据时需要频繁使用数据相关性的场景,即读取时需要整行或整行大部分列的数据,插入时需要保存用户的注册信息等

基于列的存储适用于分布式数据库和数据仓库,适用于统计分析大量数据。 列与列相关性不强,适用于网站流量统计、用户行为分析等仅插入和读取的场景。

请参阅列存储和重复存储之间的差异csdn博客

5分钟即可轻松了解Hbase系列存储干净的绿茶博客圈

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。