ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Hbase VS Oracle

Hbase VS Oracle

原创 Linux操作系统 作者:541732025 时间:2013-11-16 22:58:22 0 删除 编辑
一,索引不同造成行为的差异
Hbase只能建立一个主键索引,而且之后的数据查询也只能基于该索引进行简单的key-value查询;
但是Oracle可以建立任意索引,也可以按照任意列进行数据查询。

二,Hbase适合大量插入同时又有读的情况,读一般为key-value查询
大数据、高并发正合Hbase的胃口

三,Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间
Hbase都是大量往硬盘上写数据(没有delete、update,都是insert),即使是读数据,也是优先MemStore,所以硬盘传输速度成为其瓶颈;
而Oracle由于具有随机访问特性(select、update等),所以硬盘寻道时间成为其瓶颈,而寻道时间主要由转速决定。

四,Hbase很适合寻找按照时间排序top n的场景
因为Hbase的数据都具有时间戳(Hbase默认就有时间戳)

行式存储示意图:

行式存储:
数据存放在数据文件内
数据文件的基本组成单位:块/页(一行接一行存在block中,当然block不会填满,预留空间进行行的操作,譬如:update)
块内结构:块头、数据区
为了select橘红色的列,行式数据库会把整个block加在到内存,然后筛选出所需列。
而对于Hbase而言,由于数据存储特性,数据以列族为单位进行存储,一个文件块存储的都是同一个列族的数据),
这样,查询会比行式数据库优化很多。

另外,由于在Hbase中,同一个列里面数据格式比较接近,或者长度相近,从而可以对数据进行大幅度的压缩,
结果就是节省了硬盘空间,也减少了IO

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28912557/viewspace-776770/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Spring之autowired
下一篇: 一致性哈希算法
请登录后发表评论 登录
全部评论

注册时间:2013-05-23

  • 博文量
    127
  • 访问量
    478594