传动带厂家
免费服务热线

Free service

hotline

010-00000000
传动带厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

云计算背后的秘密BigTable

发布时间:2020-06-30 18:54:16 阅读: 来源:传动带厂家

摘要:由于在Google的数据中心存储PB级以上的非关系型数据时候,比如网页和地理数据等,为了更好地存储和利用这些数据,Google开发了一套数据库系统,名为“BigTable”。

关键词:云计算BigTab

由于在Google的数据中心存储PB级以上的非关系型数据时候,比如网页和地理数据等,为了更好地存储和利用这些数据,Google开发了一套数据库系统,名为“BigTable”。

技术概览

从技术来讲,BigTable不是一个传统的关系型的数据库,也不支持类似关联(join)这样高级的SQL操作,取而代之的是多级映射的数据结构,并支持大规模数据处理、高容错性和自我管理等特性,提供PB级的存储能力,使用结构化的文件来存储数据,并整个集群每秒可处理数百万的读写操作。

什么是多级映射的数据结构呢?就是一个稀疏的、多维的和排序的Map,每个Cell(单元格)由行关键字、列关键字和时间戳来进行三维定位.Cell的内容本身就是一个字符串,比如,存储每个网页的内容。在下图中, 反向的URL “w”是这行的关键字,“contents”这列存储了多个版本的网页内容,每个版本都有一个时间戳。BigTable还提供一个用于将多个相似的列整合至一起的Column Family(列组)机制,比如,下面“anchor”这个Column Family就有“anchor: ”和“anchhor:”这个两个列。通过Column Family这个概念,使得表可以轻松地横向扩展。

图1. BigTable数据模型图

在结构上,BigTable基于GFS分布式文件系统和Chubby分布式锁服务。BigTable主要分为两部分:其一是Master节点,用来处理元数据相关的操作并支持负载均衡。其二是Tablet节点,主要用于存储数据库的分片tablet,并提供相应的数据访问,同时tablet是基于名为SSTable的格式,对压缩有很好的支持。下图为其具体的架构图:

图2. BigTable架构图

相关产品

和之前介绍的MapReduce和GFS一样,BigTable在开源界也有很多类似的产品,最著名的两个莫过于属于Hadoop系列的Hbase和来自于Facebook的Cassandra。Hbase的特色在于其完全继承了BigTable的设计,所以它在MapReduce和海量数据存储这两方面支持地非常好,而Cassandra的则更倾向于成为全功能型数据库。除了这两个产品之外,我个人也设计一款类BigTable的数据库,名为YunTable,意为“云时代的BigTable”,它的目标是做一个BigTable的精简版,并使其更适合云环境,现在已经发布其0.8版,本已基本实现BigTable的基本功能,官方站点是,希望大家能多多关注。

实际用例

BigTable正在为Google六十多种产品和项目提供存储和获取结构化数据的支撑平台,其中包括有Google Print, Orkut,Google Maps,Google Earth和Blogger等,而且在Google内部至少运行着500个BigTable集群。

下一代BigTable

随着Google内部服务对需求的不断提高和技术的不断地发展,导致原先的BigTable已经无法满足用户的需求,而Google也正在开发下一代BigTable,名为“Spanner(扳手)”,它主要有下面这些BigTable所无法支持的特性:

1. 支持多种数据结构,比如table,familie,group和coprocessor等。

2. 基于分层目录和行的细粒度的复制和权限管理。

3. 支持跨数据中心的强一致性和弱一致性控制。

4. 基于Paxos算法的强一致性副本同步,并支持分布式事务。

5. 提供许多自动化操作。

6. 强大的扩展能力,能支持百万台服务器级别的集群。

7. 用户可以自定义诸如延迟和复制次数等重要参数以适应不同的需求。

责编:sr130

哈尔滨订制工服

订制工装

沈阳订做西服

沈阳定制工服