Google Papers学习笔记 --- GigTable 中 SSTable 与 tablet的理解
来源:互联网 发布:写大纲的软件 编辑:程序博客网 时间:2024/05/16 00:42
Table由按照 rowkey 排序后划分出的子片 tablet 组成,所以 tablet 是逻辑概念,
Bigtable 会将数据持久化成 SSTable 的格式。该格式下的的 key 都是经过排序后不可变的 KV 对。
每个 SSTable 由 block 组成并通过 block index 来定位每个 block。Bigtable 内存中维护着 memtable 用以处理写请求。
客户端对 Bigtable 的写操作首先会被内存中 memtable 处理,当 memtable 的大小超过一定阈值时,Bigtable 将会生成
新的 memtable 并将老的 memtable 以 SSTable 的格式刷入磁盘;
Bigtable 依赖于 Chubby 服务来进行分布式调度和元数据存储。客户端首先要从 Chubby 中获取相应的 Root tablet,再
从 Root tablet 中索引找到其他 tablet。新的 tablet 的增加和删除必须通过 Chubby 服务来操作。Chubby 服务一旦挂
了,Bigtable 也就挂了,因此 Chubby 是一个高可用服务,一般有 5 个节点组成,节点间用 Paxos 协议组织,开源的
类似实现有 Zookeeper 和 etcd;
综上所述,SSTable 可认为是 Bigtable 中单机数据在磁盘的存储格式,而 tablet 则是分布式调度和存储的最小单元。
0 0
- Google Papers学习笔记 --- GigTable 中 SSTable 与 tablet的理解
- leveldb之SSTable的创建与访问
- 类似于谷歌大表(Google' Gigtable)的开源数据库,你知多少
- [学习笔记]Android中AIDL的理解与使用
- leveldb学习:sstable(1)
- leveldb学习:sstable(2)
- 【学习笔记】Google JobScheduler Demo的学习与运用
- sstable
- Google深度学习笔记 文本与序列的深度模型
- leveldb(十):SSTable之1sstable文件的组成结构
- Google: Excellent Papers for 2011
- Google: Excellent Papers for 2011
- Google:Excellent Papers for 2011
- Google KickStart的一些理解和学习
- 理解Google+与Facebook的不同
- tracking papers 阅读笔记
- Espresso学习笔记--google doc前四篇部分翻译和理解
- {传智播客} (学习笔记)--Hibernate的Session缓存问题与理解
- TensorFlow基础知识点(五)供给/Feeds
- 遗传算法入门到掌握(一)
- boneCP的连接管理
- 对spring web启动时IOC源码研究
- SpringBoot入门系列:Spring Security 和 Angular JS(1)
- Google Papers学习笔记 --- GigTable 中 SSTable 与 tablet的理解
- Java 日期时间
- FTP主动模式和被动模式的区别
- c/c++注释转换
- solr亿万级索引优化实践(二)
- PHP+yaml 示例
- requests从api中获取数据并存放到mysql中
- DNS 介绍
- vue在iis服务器上部署时出现找不到json文件错误