首页 > 代码库 > BigTable之SSTable
BigTable之SSTable
在BigTable中,数据的存储及索引被分为了三个层次,其中SSTable是数据最终在磁盘上的存储形式,SSTable的全称叫做Sorted String Table,是一个排好序的kV形式的数据的集合,SSTable的结构如下图所示:
左边一个图是SSTable的结构,SSTable由多个DataBlock,多个MetaBlock,一个IndexBlock及一个footer组成,数据的真正存储是在datablock中,其他的block存储的是一些管理数据,比如footer中存的是metaBlock以及indexBlock的位置、SSTable的魔鬼数字等,indexBlock是存的是dataBlock的索引,每个dataBlock的索引是它上一个dataBlock的最后一个数据的key,MetaBlock存储的是FilterBlock的位置信息等。
右边的图是datablock的结构信息,datablock中包含了格式为key-value-crc的数据信息,包含了压缩字段record以及压缩数量。
一个数据写入SSTable的流程如下:
数据的查询流程如下:
针对SSTable的插入和查询流程就到这,至于更新和删除的流程下次分析。
BigTable之SSTable
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。