- 注册时间
- 2011-3-22
- 最后登录
- 2013-6-27
- 在线时间
- 11644 小时
- 阅读权限
- 150
- 积分
- 62779
- 帖子
- 28923
- 精华
- 1
- UID
- 6
|
第四张图引用自HBase Architecture 101 – Write-ahead-Log
根据habse0.90代码,HLog是每个region server一个,不是每个region一个,因此这张图是错的,文中没有写错。
这样做是为了提高hbase的写性能,在Google Big Table论文中有详细描述:
Commit-log implementation
If we kept the commit log for each tablet in a separate
log le, a very large number of les would be written
concurrently in GFS. Depending on the underlying le
system implementation on each GFS server, these writes
could cause a large number of disk seeks to write to the
different physical log les. In addition, having separate
log les per tablet also reduces the effectiveness of the
group commit optimization, since groups would tend to
be smaller. To x these issues, we append mutations
to a single commit log per tablet server, co-mingling
mutations for different tablets in the same physical log
le [18, 20].
如果一个region server意外失效,在恢复其上的数据时,会先将Hlog按照region进行切分,在分发到未这些region提供服务的机器上去。
|
|