1 / 89
文档名称:

谷歌三大核心技术(三)google bigtable中文版.pdf

格式:pdf   大小:386KB   页数:89页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

谷歌三大核心技术(三)google bigtable中文版.pdf

上传人:yinjiong623147 2021/6/30 文件大小:386 KB

下载得到文件列表

谷歌三大核心技术(三)google bigtable中文版.pdf

文档介绍

文档介绍:谷歌三大核心技术(三)
Google_BigTable 中文版
您的评价: 收藏该经验

Bigtable:一个分布式的结构化数据存储系

译者:alex


摘要
Bigtable 是一个分布式的结构化数据存储
系统,它被设计用来处理海量数据:通常是
分布在数千台普通服务器上的 PB 级的数据。
Google 的很 多项目使用 Bigtable 存储数据,
包括 Web 索引、Google Earth、Google
Finance。这些应用对 Bigtable 提出的要求
差异非常大,无论是在数据量上(从 URL 到
网页到卫星图像)还是在响应速度上(从后
端的批量处理到 实时数据服务)。尽管应
用需求差异很大,但是,针对 Google 的这
些产品,Bigtable 还是成功的提供了一个灵
活的、高性能的解决方案。本论文描述 了
Bigtable 提供的简单的数据模型,利用这个
模型,用户可以动态的控制数据的分布和格
式;我们还将描述 Bigtable 的设计和实现。
1 介绍
在过去两年半时间里,我们设计、实现并部
署了一个分布式的结构化数据存储系统 —
在 Google,我们称之为 Bigtable。Bigtable
的设计目的是可靠的处理 PB 级别的数据,
并且能够部署到上千台机器上。Bigtable 已
经实现了下面的几个目标:适用性广泛、可
扩展、高性能和高可用性。Bigtable 已经在
超过 60 个 Google 的产品和项目上得到了应
用,包括 Google Analytics、Google
Finance、Orkut、PersonalizedSearch、
Writely 和 Google Earth。这些产品对
Bigtable 提出了迥异的需求,有的需要高吞
吐量的批处理,有的则需要及时响应,快速
返回数据给最终用户。它们使用的
Bigtable 集群的配置也有很大的差异,有的
集群只有几台服务器,而有的则需要上千台
服务器、存储几百 TB 的数据。
在很多方面,Bigtable 和数据库很类似:它
使用了很多数据库的实现策略。并行数据库
【14】和内存数据库【13】已经具备可扩展
性和高性能, 但是 Bigtable 提供了一个和
这些系统完全不同的接口。Bigtable 不支持
完整的关系数据模型;与之相反,Bigtable
为客户提供了简单的数 据模型,利用这个
模型,客户可以动态控制数据的分布和格式
(alex 注:也就是对 BigTable 而言,数据
是没有格式的,用数据库领域的术语说,就
是数据没有 Schema,用户自己去定义
Schema),用户也可以自己推测(alex 注:
reasonabout)底层存储数据的位置相关性
(alex 注: 位置相关性可以这样理解,比如
树状结构,具有相同前缀的数据的存放位置
接近。在读取的时候,可以把这些数据一次
读取出来)。数据的下标是行和列的名字,
名 字可以是任意的字符串。Bigtable 将存
储的数据都视为字符串,但是 Bigtable 本
身不去解析这些字符串,客户程序通常会在
把各种结构化或者半结 构化的数据串行化
到这些字符串里。通过仔细选择数据的模式,
客户可以控制数据的位置相关性。最后,可
以通过 BigTable 的模式参数来控制数据是
存放在 内存中、还是硬盘上。
第二节描述关于数据模型更多细节方面的
东西;第三节概要介绍了客户端 API;第四
节简要介绍了 BigTable 底层使用的 Google
的基础框架; 第五节描述了 BigTable 实现
的关键部分;第 6 节描述了我们为了提高
BigTable 的性能采用的一些精细的调优方
法;第 7 节提供了 BigTable 的性能数据;
第 8 节讲述了几个 Google 内部使用
BigTab