Google Bigtable

  1. Google Bigtable
    1. 1 摘要
    2. 2 介绍
    3. 3 数据模型
      1. 3.1 行
      2. 3.2 列族
      3. 3.3 时间戳
    4. 4 API
    5. 5
    6. 6 介绍
    7. 7 优化
    8. 8 性能评估

Google Bigtable

1 摘要

分布式 结构化

2 介绍

用户可以动态控制数据的分布和格式

bigtable将存储的数据都视为字符串

3 数据模型

bigtable是一个稀疏的、分别式的、持久化存储的多维度排序map,

map的索引是行关键字、列关键字以及时间戳,map的每个value都是一个未经解析的byte数组

(row:string, column:string, time:int64) -> string

3.1 行

行关键字可以是任意的字符串

行的读写是原子的

通过行关键字的字典顺序来组织数据

表中的每个行都可以动态分区,每个分区叫做一个tablet,tablet十数据分布和负载均衡调整的最小单位

3.2 列族

访问控制的基本单位。磁盘和内存的使用统计都是在列祖层面进行的

3.3 时间戳

表中的每一个数据项都可以包含同一份数据的不同版本,通过时间戳来索引

4 API

5

6 介绍

一个master服务器和多个tablet服务器。tablet可动态添加删除

客户端读取的数据不经过master,直接与tablet进行

任何时刻,一个tablet之恩能够分配给一个tablet服务器i

tablet的持久化状态信息保存在GFS上

更新操作提交到REDO日志,最近提交存放在培训的缓存中,(memtable)

当memetable不断增加,当达到门限值时,会被冻结,创建一个新的memtable。

冻结的memetable被转换成SSTbale,写入GFS中

7 优化

TODO

8 性能评估

XXX


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 wshten@gmail.com

文章标题:Google Bigtable

本文作者:KevinTen

发布时间:2019-06-30, 00:00:00

最后更新:2019-09-30, 17:40:19

原始链接:http://github.com/kevinten10/2019/06/30/Distribute/Google-Bigtable/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏

csdn zhihu github