BigTable

来自开放百科 - 灰狐
跳转到: 导航, 搜索
Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 BigTable Thanks, Wikipedia.

Bigtable: A Distributed Storage System for Structured Data

Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers. Many projects at Google store data in Bigtable, including web indexing, Google Earth, and Google Finance. These applications place very different demands on Bigtable, both in terms of data size (from URLs to web pages to satellite imagery) and latency requirements (from backend bulk processing to real-time data serving). Despite these varied demands, Bigtable has successfully provided a flexible, high-performance solution for all of these Google products. In this paper we describe the simple data model provided by Bigtable, which gives clients dynamic control over data layout and format, and we describe the design and implementation of Bigtable.

http://labs.google.com/papers/bigtable.html

BigTable 是 Google Style的数据库,使用结构化的文件来存储数据。

BigTable不是一个关系型的数据库。它不支持关联或是类似于SQL的高级查询。取而代之的是多级映射的数据结构。这是一种面向大规模处理、容错性强的自我管理系统,拥有TB级的内存和PB级的存储能力,每秒可以处理数百万的读写操作。目前,BigTable正在为Google六十多种产品和项目提供存储和结构化数据获取的支撑平台。


虽然不支持关系型数据查询,但却是建立GFS/MapReduce基础上的,分布式存储大规模结构化数据的方案。

BigTable是一个稀疏的,多维的,排序的Map,每个Cell由行关键字,列关键字和时间戳三维定位.Cell的内容是一个不解释的字符串。

比如下表存储每个网站的内容与被其他网站的反向连接的文本。

反向的URL com.cnn.www(www.cnn.com)是行的关键字;contents列存储网页内容,每个内容有一个时间戳;因为有两个反向连接,所以archor列族有两列:anchor: cnnsi.com和anchhor:my.look.ca,列族的概念,使得表可以横向扩展,archor的列数并不固定。

BigTable Figure1.jpg

为了并发读写,热区,HA等考虑,BigTable当然不会存在逗号分割的文本文件中,,是存储在一种叫SSTable的数据库结构上,并有BMDiff和Zippy两种不同侧重点的压缩算法。

BigTable 的 clone 开源项目: Hypertable

Comment-32x32.png

<discussion>characters_max=300</discussion>

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱