列存数据库学习心得

12 篇文章 0 订阅

    数据库以行、列的二维表的形式存储数据,但是却以一维字符串的方式存储,例如下表:

EmpId Lastname Firstname Salary

1         Smith          Joe         40000

2          Jones        Mary       50000

3        Johnson      Cathy      44000

这个表存储在电脑的内存和硬盘中。数据库必须把这个二维表存储在一系列的一维“字节”中,又操作系统写到内存或者硬盘中。

行式数据库把一行中的数据值串在一起存储起来,然后再存储下一行数据

1,Smith,Joe,40000;2,Jones,Mary,50000;3Johnson,Cathy,44000;

列式数据库把一列中的数据值串在一起存储,然后再存储下一列的数据,以此类推。

1,2,3;Smith,Jones,Johnson;Joe,Mary,Cathy;40000,50000,440000;

对于传统行式数据库。数据库按行存储,没有索引的查询使用大量I/O建立索引和物化视图需要花费大量时间和资源,面对查询需求,数据库必须被大量膨胀才能满足性能需求。

对于列式数据库,数据库按列存储,数据即索引。只访问查询涉及的列-大量降低系统IO每一列由一个线程来处理-查询的并发处理 数据类型一致,数据特征相似-高效存储。

这2种数据库的设计所考虑的最大的一个因素是——硬盘运行的方式。硬盘的机械结构决定了它的特点寻道速度慢,连续读取速度快。列式数据库的优点将列存储在同一区域,那么在单列查询的时候减少了硬盘的寻道操作数。而行式数据库在定位到某一行后,读取这行中内容成为连续操作,速度会快。

那么总结来看,列式数据库的各种优点让它适合于做大规模数据存储,保证硬盘的低寻道,高吞吐的大数据读写。而行式数据库适合少量数据快速定位和读写操作,灵活度更大。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值