2024谷歌Bigtable:结构化数据的分布式存储系统.docx

2024谷歌Bigtable:结构化数据的分布式存储系统.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE

PAGE2

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

Bigtable是一个用于管理分布式存储系统

旨在扩展到非常大的

规模:数千种商品的PB级数据

服务器。Google的许多项目将数据存储在Bigtable中,

包括网络索引、GoogleEarth和GoogleFi?nance。这些应用程序提出了非常不同的要求

在Bigtable上,无论是数据大小(从URL到

从网页到卫星图像)和延迟要求

(从后端批量处理到实时数据服务)。尽管需求各异,Bigtable还是成功

为所有

这些Google产品。在本文中,我们描述了Bigtable提供的简单数据模型,它为客户提供

动态控制数据布局和格式,并描述Bigtable的设计和实现。

简介

实现了可扩展性和高性能,但Bigtable提供了与此类系统不同的界面。Bigtable不?持完整的关系数据模型;相反,它

为客户提供?持简单数据模型

动态控制数据布局和格式,并允许客户端推断数据的局部性属性

底层存储中表示的数据。数据使用可以是任意的行和列名称进行索引

字符串。Bigtable还将数据视为未解释的字符串,

尽管客户端经常将各种形式的结构化和半结构化数据序列化为这些字符串。客户端

可以通过谨慎的方式控制其数据的本地性

模式选择。最后,Bigtable模式参数允许客户端动态控制是否为

数据超出内存或磁盘范围。

第2节更详细地描述了数据模型,并且

第3节概述了客户端API。第4节简要介绍了Bigtable所依赖的底层Google基础架构。第5节介绍了

在过去的两年半里,我们设计了实施并部署分布式存储系统

用于管理Google结构化数据的Bigtable。

Bigtable旨在可靠地扩展到PB级

数据和数千台机器。Bigtable已经实现了

几个目标:广泛适用性、可扩展性、高性能和高可用性。Bigtable被

超过60个Google产品和项目,包括GoogleAnalytics、GoogleFinance、Orkut、个性化搜索、Writely和GoogleEarth。这些产品使用Bigtable来处理各种要求苛刻的工作负载,

包括面向吞吐量的批处理

为最终用户提供对延迟敏感的数据服务。

这些产品使用的Bigtable集群涵盖范围广泛

配置范围从少数到数千

服务器,并存储多达数百TB的数据。

Bigtable在很多方面都类似于数据库:它共享

数据库的实现策略有很多。并行数据库[14]和主内存数据库[13]

Bigtable实现的基础知识,第6节描述了我们所做的一些改进

提高Bigtable的性能。第7节规定Bigtable性能的测量。我们描述Google如何使用Bigtable的几个示例并讨论我们在

第9节介绍Bigtable的设计和?持。最后,第10节介绍相关工作,第11节介绍

提出我们的结论。

数据模型

Bigtable是一个稀疏、分布式、持久的多维排序映射。该映射由行索引组成

键、列键和时间戳;映射中的每个值是未解释的字节数组。

(行:字符串,列:字符串,时间:int64)→字符串

“内容:”

“锚点:”

“锚点:my.look.ca”

“n.www”

“html??”“html??” 5

“html??”

“CNN”

“CNN.com”

图1:存储网页的示例表的片段。行名称是反向URL。内容列系列包含页面内容,锚点列系列包含引用该页面的任何锚点的文本。CNN的主页被《体育画报》和MY?look主页引用,因此该行包含名为anchor:和anchor:my.look.ca的列。每个锚点单元格都有一个版本;内容列有三个版本,时间戳分别为t3、t5和t6。

在研究了类似Bigtable的系统的各种潜在用途后,我们决定采用这种数据模型。作为推动我们做出一些设计决策的一个具体示例,假设我们想要保留大量网页和相关信息的副本,以供许多不同的项目使用;我们将此特定表称为Webtable。在Webtable中,我们将使用URL作为行键,将网页的各个方面作为列名,并将网页内容存储在内容:列中,位于获取它们的时间戳下,如图1所示。

列族

列键被分组为称为列系列的集合,列系列构成了访问控制的基本单位。存储在列系列中的所有数据通常属于同一类型(我们将同一列系列中的数据压缩在一起)。必须先创建列系列,然后才能将数据存储在该系列中的任何列键下;创建系列后,可以使用系列中的任何列键。我们希望表中不同列系列的数量较少(最多几百个),并且系列在操作过程中很少发生变化。相比之

文档评论(0)

互联网资料整理 + 关注
实名认证
服务提供商

企业信息管理师持证人

新能源集控中心项目 智慧电厂建设项目 智慧光伏 智慧水电 智慧燃机 智慧工地 智慧城市 数据中心 电力行业信息化

版权声明书
用户编号:6011145050000024
领域认证该用户于2023年02月15日上传了企业信息管理师

1亿VIP精品文档

相关文档