简介行式存储和列式存储

  • 行式存储: 数据按照行的顺序存储。例如,一张表有多列(如姓名、年龄、性别、地址),在行式存储中,每一行的所有数据会存储在一起。它的优势在于对单行数据的读取速度较快,适用于频繁的插入和更新操作。

    示例(行式存储):

    • 第1行:[张三, 30, 男, 北京]
    • 第2行:[李四, 25, 女, 上海]
    • 第3行:[王五, 28, 男, 广州]
  • 列式存储: 数据按照列的顺序存储。与行式存储不同,列式存储将同一列的数据放在一起存储。列式存储的优势在于查询性能,尤其是在只需要读取部分列的场景中,它可以大大减少数据读取量。

    示例(列式存储):

    • 姓名列:[张三, 李四, 王五]
    • 年龄列:[30, 25, 28]
    • 性别列:[男, 女, 男]
    • 地址列:[北京, 上海, 广州]

列式存储的优势

高压缩比

因为同一列的数据通常具有相似性(例如年龄列中的数字都是整数,性别列中只有“男”或“女”),所以列式存储能够更有效地压缩数据。通过将类似的数据压缩在一起,列式存储可以节省大量的存储空间。

减少非相关数据的扫描

在数据分析中,你通常只需要查询某几列数据,而不是整行数据。列式存储让你只读取需要的列,不需要扫描整个表中的所有数据。这不仅减少了I/O操作,还节省了CPU处理不相关数据的时间。

假设你有一个包含数百列的表格,但你只想查询“年龄”列。使用列式存储,你只需要读取“年龄”这一列的数据,而行式存储则需要读取整行数据再提取“年龄”。

更有效利用 IO 和 CPU 资源

由于只读取和处理相关的数据列,列式存储减少了磁盘I/O操作,节省了系统资源。同时,压缩的数据更容易在内存中操作,进一步提高了查询效率。

通俗举例

想象你有一个巨大的图书馆,其中每本书都分为几章(对应表的列)。行式存储就像是按整本书摆放,查找某一章内容时,需要翻开整本书。而列式存储就像是把所有书的同一章内容都集中在一起,这样你只需去查找你需要的那一章内容,而不用翻开每本书的其它部分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值