开发者社区> 问答> 正文

Bigtable中客户端是如何访问片的呢?

Bigtable中客户端是如何访问片的呢?

展开
收起
xin在这 2021-12-13 17:31:44 256 0
1 条回答
写回答
取消 提交回答
  • Bigtable使用一个类似B+树的数据结构存储片的位置信息。

    定位系统:

    Chubby file,保存着root tablet的位置。这个Chubby文件属于Chubby服务的一部分,一旦Chubby不可用,就意味着丢失了root tablet的位置,整个Bigtable也就不可用了。

    root tablet,root tablet其实是元数据表(METADATA table)的第一个分片,它保存着元数据表其它片的位置。root tablet很特别,为了保证树的深度不变,root tablet从不分裂。

    其它的元数据片,它们和root tablet一起组成完整的元数据表。每个元数据片都包含了许多用户片的位置信息。

    可以看出整个定位系统其实只是两部分,一个Chubby文件,一个元数据表。每个分片也都是由专门的片服务器负责,这就是不需要主服务器提供位置信息的原因。客户端会缓存片的位置信息,如果在缓存里找不到一个片的位置信息,就需要查找这个三层结构了,包括访问一次Chubby服务,访问两次片服务器。

    2021-12-13 17:33:37
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_黄晓涛_通过FDW对大容量非结构化文件的管理和访问 立即下载
Quanta:Quora的HBase分层计数系统 立即下载
实战-如何基于HBase构建图片视频数据的统一存储检索方案 立即下载