首页 > 其他分享 >行式存储和列式存储的区别

行式存储和列式存储的区别

时间:2022-12-02 15:26:01浏览次数:42  
标签:存储 列式 行式 查询 -- 属性

1. 什么是行式存储和列式存储?

2. 行式存储分析?

  • 缺点:
    -- 行式在读取数据的时候,所查询的目标只涉及少数几项属性,但由于这些目标数据埋藏在各行数据单元中,而行单元又特别大,必须读取每一条完整的行记录,从而使得读取效率大大降低。
    -- 可以加索引或给表分区进行优化。
  • 优点:
    -- 1. 适合随机的增删改查操作
    -- 2. 在行中选取所有属性的查询操作
    -- 3. 频繁插入或更新的操作,其操作与索引和行的大小相关

3. 列式存储分析?

对于数据仓库和分布式数据库来说,大部分情况下它会从各个数据源汇总数据,然后进行分析和反馈,操作大多是围绕同一列属性的数据进行的,而当查询某属性的数据记录时,列式数据库只需返回与列属性相关的值。

  • 优点:
    在大数据量查询场景中,列式数据库可在内存中高效组装各列的值,最终形成关系记录集,因此可以显著减少IO消耗。
  • 适用场景:
    -- 1.查询过程中,可针对各列的运算并发执行,最后在内存中聚合完整记录表,最大可能降低查询响应时间。
    -- 2.可在数据列中高效查找数据,无需维护索引(任何列都能作为索引),查询过程中能够尽量减少无关IO,避免全表扫描。
    -- 3.因为各列独立存储,且数据类型已知,可以针对该列的数据类型、数据量大小等因素动态选择压缩算法,以提高物理存储利用率;如果某一行的某一列没有数据,在列存储时,就可以不存储该列的值,这比行式存储更节省空间。
  • 缺点/不适用场景:
    -- 1.数据需要频繁更新的交易场景
    -- 2.表中列属性较少的小量数据库场景
    -- 3.不适合做含有删除和更新的实时操作

标签:存储,列式,行式,查询,--,属性
From: https://www.cnblogs.com/jsqup/p/16943717.html

相关文章