大数据技术-HBase:HBase写入路径

HBase数据是最终存放到hdfs上的,而我们知道hdfs是不支持随机写,只能提供append的形式追加,然后一旦写入后是不可变的。那么HBase是如何提供所谓的低延时写入和读取?下面我们就分析下其中的奥秘。

写路径就是指HBase怎样完成put和delete操作的。该路径开始于客户端,然后到regionserver,最后被写入到一个叫做HFile的数据文件中。其中还包括了HBase为了防止数据丢失写路径的优化设计。因此,理解写路径对于HBase的可能数据出现丢失情况会有一个更加深入的理解。

每个HBase表被托管到一系列服务器上面,主要分为以下三类:

1、一个active状态的master server;

2、一个或多个backup severs;

3、多个regionserver。

regionserver用于托管HBase的表。因为HBase表可能特别大,会被分为多个部分,叫做多个region。每个regionserver上具有一个或多个regions。由于regionsever才处理regions,所以如果master server崩溃了却不会引起数据丢失或不可用。

由于rowkey是排序的,很容易确认哪个regionserver管理哪个key。每个更改请求都会指定一个具体的row。每个rowkey属于一个特定regionserver上的region。客户端会首先定位到哪个regionserver, 然后本地缓存这部分location数据,失效的情况会更新。

当一个请求被特定的regionserver收到后,改变不会马上被写入HFile的,因为数据写入HFile是必须是排序好的rowkey,这样当读数据的适合可以允许随机的row高效率搜索。数据不能被随机插入HFile。如果每个更新都写入一个新的文件,许多小文件将会被创建。这种方案是非常不

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值