课件05多结构化数据管理google BIG TABLE1.pptx

课件05多结构化数据管理google BIG TABLE1.pptx

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多结构化数据管理潘鹏数据存储与组织方法 现有技术(Google Big Table)Big Table——分布式结构化数据存储系统Bigtable被设计用于处理海量数据(通常是分布在数千台普通服务器上的PB级的数据)。Google的很多项目使用Bigtable: Web索引 Google Earth Google Finance 。。。Big Table——分布式结构化数据存储系统要求迥异:高吞吐量的批处理,及时响应以快速返回数据给用户。Bigtable集群的配置也有很大的差异:有的集群只有几台服务器,而有的则需要上千台服务器、存储几百TB的数据。Bigtable提供了一个灵活的、高性能的解决方案。基本特点使用了很多数据库的实现策略(在很多方面Bigtable和数据库很类似)。Bigtable不支持完整的关系数据模型——与之相反,Bigtable提供了简单的数据模型,客户可以动态控制数据的分布和格式。 基本特点数据没有Schema,用户自己定义Schema。通过选择数据模式,客户可以控制数据的位置相关性。用户也可以自己推测数据底层存储的位置相关性(如树状结构中具有相同前缀的数据存放位置接近,可以把相关数据一次读取出来)。可以通过BigTable的模式参数来控制数据是存放在内存中、还是硬盘上。基本特点数据的下标 = 行和列的名字(名字可是任意的字符串)。存储的数据都视为字符串,Bigtable本身不去解析这些字符串。 ↓客户程序可以把各种结构化或者半结构化的数据串行化到这些字符串里。数据模型Bigtable是一个稀疏的、分布式的、持久化存储的多维度排序Map(由key和value组成)。 Map的索引=行关键字+列关键字+时间戳。 Map中的每个value都是一个未经解析的byte数组。 ↓(row:string, column:string,time:int64)-string数据模型举例使用表Webtable存储海量的网页及相关信息。用URL(反向存储)作为行关键字。使用网页的某些属性作为列名(anchor列族存放引用该网页的锚链接文本,网页的内容存在contents列族中,并用获取该网页的时间戳作为标识。按照获取时间不同,存储多个版本的网页数据) 。数据模型举例 CNN的主页被Sports Illustrater和MY-look的主页引用,因此该行包含了名为“anchor:”和 “anchhor:my.look.ca”的列。 每个锚链接只有一个版本(时间戳标识了列的版本,t9和t8分别标识了两个锚链接的版本);而contents列则有三个版本,分别由时间戳t3,t5,和t6标识。数据模型——行表的行关键字可以是任意字符串(目前最大64KB)。程序在对某一行进行并发更新操作时都是原子的(对同一个行关键字的读或者写操作,不论读或者写这一行里多少个不同列)。每一行可以参与动态分区,一个分区叫做一个”Tablet”,Tablet是数据分布和负载均衡调整的最小单位。(SSTable列存储)数据目录数据模型——行通过行关键字的字典顺序组织数据。用户可通过选择合适的行关键字在数据访问时有效利用数据的位置相关性。例:在Webtable里反转URL中主机名,可以把同一个域名下的网页聚集起来组织成连续的行,提高基于主机和域名的分析的效率。Tablet数据模型——列族“列族“ ——列关键字组成的集合,是访问控制的基本单位。存放在同一列族下的所有数据通常都属于同一个类型(可压缩列族)。一张表的列族不能太多(最多几百个),并且列族在运行期间很少改变。 列族使用:先创建,然后在列族中任何的列关键字下存放数据。稀疏数据模型——列族访问控制、磁盘和内存的使用统计都是在列族层面进行的。 一些应用可以添加新的基本数据 一些应用可以读取基本数据并创建继承的列族 一些应用则只允许浏览数据(甚至部分数据)数据模型——列关键字列关键字的命名语法——“列族:限定词”。 列族的名字必须是可打印的字符串,限定词可以是任意的字符串。例:1)Webtable的language列族,存放撰写网页的语言,只有一个列关键字用来存放网页的语言标识ID。2)anchor列族,限定词是引用该网页的站点名,每一个列关键字代表一个锚链接,每列的数据项存放的是链接文本。数据模型——时间戳每一个数据项都可以包含同一份数据的不同版本,通过时间戳(int64)来索引。时间戳赋值:1)通过Bigtable(可表示精确到毫秒的“实时”时间)2)由应用程序自己生成具有唯一性的时间戳。 数据项中不同版本的数据按照时间戳倒序排序(最新的数据排在最前面)。数据模型——时间戳每个列族配有两个设置参数,用户由此指定对废弃版本数据的自动垃圾收集:1)只保存最后n个版本的数据;2)只保存“足够新”的版本的数据(例如

文档评论(0)

2232文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档