一种NoSQL数据库-GoogleBigTable的浅析.docxVIP

一种NoSQL数据库-GoogleBigTable的浅析.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种No SQL数据库-Google Big Table的综述 赵小溪 经管会计 201411036022 摘要 本文对一种主流No SQL数据库,即Google的BigTable进行了综述。对其实现细节进行了表述,深入了解了BigTable的架构,介绍了其读写操作,并提出了其存在的几个问题并给出了解决办法。对BigTable进行了总结和展望。并对No SQL数据库的发展现状和趋势作了简单介绍。 引言 出现于1998年的No SQL是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。在2009年,Johan Oskarsson发起了一次关于分布式开源数据库的讨论,来自Rackspace(全球三大云计算中心之一)的Etic Evans再次提出了No SQL的概念,这时的No SQL主要指非关系型、分布式、不提供ACID的数据库设计模式。2009年在亚特兰大举行的no:sql(east)讨论会是一个里程碑,会上对No SQL最普遍的解释是非关系型的,强调键一—值对存储和文档数据库的优点,而不是单纯的关系型数据库。 No SQL是Not Only SQL的简写,其含义是“不仅是结构化查询”,是不同于传统的关系型数据库的数据库管理系统的统称。No SQL与SQL的最显著的区别是No SQL不使用SQL作为查询语言,其数据存储不需要固定的表格模式,也避免使用SQL的JOIN操作,具有水平可扩展性。CAP、BASE和最终一致性是No SQL数据库存在的3大基石。No SQL存储满足了数据存储的横向伸缩性的需求。 No SQL以其运行在PC服务器集群上,突破了性能瓶颈,没有过多的需求,支持者源于社区,弹性扩展,大数据量,灵活的数据模型,经济效率高等特点为大数据的存储、传输与处理创造了生态环境,并逐渐走向成熟并广泛应用。 Big Table作为一种非关系型数据库,是一个稀疏的、分布式的、持久化存储的多维度排序映射。Big Table能可靠处PB级的数据,并且能够部署到上千台机器上。Big Table具有适用性广泛、可扩展、高性能和高可用性。 BigTable简述及其关键技术 Bigtable分布式存储系统是Google开发的第三项云计算关键技术,用于管理Google中的结构化数据。很多 Google的应用程序都需要存储海量数据,比如Google地球、Google分析和网络搜索等,解决方案之一是Google文件系统(GFS),它具有很好的可扩展性,很多的GFS集群可以扩展到300Terabytes,但是GFS用文件的方式???存储数据.具体来说,这些数据文件存储在Linux的文件系统里,而且用GFS来存储的数据是非结构化的数据。为了解决这个问题,Google的软件开发工程师研发了BigTable,并于2005年4月投入使用。Bigtable 具备广泛的适用性、高可扩展性、高性能和高可用性,已经在超过60个Google 的产品和项目上得到了应用。Bigtable借鉴了并行数据库和内存数据库的一些特性,但 Bigtable 提供了一个完全不同接口。Bigtable 不支持完整的关系数据模型,而是为用户提供了简单的数据模型,使客户可以动态控制数据的分布和格式。对Bigtable而言,数据是没有格式的,用户可以自定义Schema。 BigTable数据模型 Bigtable是一个稀疏、分布式、持久化存储的多维有序映射表,表的索引是行关键字、列关键字和时间戳。Bigtable 中存储的表项都是未经解析的字节数组,其数据模型如下: (row:string, column:string,time:int64)->string 选定该数据模型,是在仔细分析了Bigtable系统的种种用途之后决定的。比如一个存储了大量网页及其相关信息的表 Webtable,Webtable 使用URL作为行关键字,使用网页的某些属性作为列名,网页的内容存入 contents列中,并使用获取该网页的时间戳标识同一个网页的不同版本。在 Bigtable中,Webtable的存储范例如图一所示。 图一 Webtable范例片段 1.行关键字 行关键字可以是任意字符串,目前最大支持 64KB。Bigtable按照行关键字的字典序组织数据,利用这个特性可以通过选择合适的行关键字,使数据访问具有良好的局部性。如 Webtable中,通过将反转的 URL 作为行关键字,可以将同一个域名下的网页聚集在一起。表的行区间可以动态划分,每个行区间称为一个子表。子表是 Bigtable 数据分布和负载均衡的基本单位,不同的子表可以有不同的大小。为了限制移子表的移动和恢复成本,每个子表默认的最大尺寸为200MB。 2. 列族 列关键字一般都表示一种数据

文档评论(0)

***** + 关注
实名认证
文档贡献者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档