hbase设计特点

1.hbase的特点
(1)随机读写操作
(2)大数据上高并发操作,例如每秒PB级数据的数千次的读写操作
(3)读写均是非常简单的操作,例如没有join操作


2.hbase设计推荐方法
(1)更宽的row,更有利于搜索操作。
     就是说每一行多存储一些数据,如果以前设计的是一行存储5KB,那么可以改为一行存储30KB,或者更多。当然,column family和column会更多一些。
(2)使写操作是幂等的和独立的
     如果以前的hbase设计是,在随意的时间点就可以插入一行新的数据,那么现在可以改为每10分钟或者1小时为界限,插入一行新的数据。
(3)为每一个KeyValue存储更多的数据
     其实方法(3)跟方法(1)是一个意思,只是方法(3)是从存储空间利用率的角度看问题,而方法(1)是从搜索效率的角度看问题的。在hbase实际的存储中,key会跟每个value组成key-value进行存储,而不是通常认为的是key-value1-value2进行存储的。所以key要尽可能的简洁,value需要多存储一些数据。
(4)缩短column family和column的名字长度


3.hbase设计不推荐的方法
(1)不推荐使用HTable/HTablePool
     因为在高并发的情况下,HTable和HTablePool的效率比较低。推荐使用asynchbase+Netty替代HTable和HTablePool。asynchbase是一个全异步、非阻塞、线程安全、高性能的HBase客户端,github地址 https://github.com/StumbleUponArchive/asynchbase。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序,官方网址 http://netty.io/
(2)不推荐使用变长的key
     key一般包含一些复合信息,如机器的ID号+时间戳等。保持key的长度在hbase中是固定的,因为变长的key会造成hbase扫描困难。
(3)避免在RegionServer中存在过多的Region
     可以通过hbase中hbase.regionserver.regionSplitLimit设置,控制Region数量,一个RegionServer中最好不要出现上千个Region。可以参考 http://itindex.net/detail/49632-hbase-%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98,其中介绍了许多其他的hbase性能调优设置。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值