Bigtable

BigTable是一種壓縮的、高效能的、高可擴展性的,基于Google檔案系統(Google File System,GFS)的数据存储系统,用於儲存大规模結構化数据,適用於雲端計算

BigTable發展於2004年[1],現今已成為Google的應用程式。像是MapReduce就常透過BigTable來儲存或更改資料,[2]其他還有Google Reader[3]、Google Maps[4]、Google Book Search、"My Search History"、Google Earth、Blogger.com、Google Code hosting、Orkut[4]、YouTube[5]以及Gmail[6]等。Google自行發展出特別的巨型資料庫的原因,自然是效能的問題[7]

BigTable不是传统的关系型数据库,不支援JOIN这样的SQL語法,BigTable更像今日的NoSQL的Table-oriented,优势在于扩展性和性能。BigTable的Table資料結構包括row key、col key和timestamp,其中row key用於儲存倒轉的URL,例如www.google.com必須改成com.google.www。BigTable使用大量的Table,在Table之下還有Tablet。每一個Tablets大概有100-200MB,每台机器有100個左右的Tablets。所謂的Table是屬於immutable的SSTables,也就是存储方式不可修改。另外Table還必須進行壓縮,其壓縮又分成table的壓縮或系統的壓縮。客户端有一指向META0的Tablets的指標,META0 tablets保儲所有的META1的tablets的資料記錄。

相關條目

  • LevelDB - Google的鍵/值對(Key/Value Pair)嵌入式數據庫管理系統編程庫,BSD特許條款開源

注釋

  1. ^ "First an overview. BigTable has been in development since early 2004 and has been in active use for about eight months (about February 2005)." Google's BigTable (页面存档备份,存于互联网档案馆
  2. ^ "Bigtable can be used with MapReduce, a framework for running large-scale parallel computations developed at Google. We have written a set of wrappers that allow a Bigtable to be used both as an input source and as an output target for MapReduce jobs". pg 3 of "Bigtable: A Distributed Storage System for Structured Data", 2006
  3. ^ "Reader is using Google's BigTable in order to create a haven for what is likely to be a massive trove of items." Official Google Reader (页面存档备份,存于互联网档案馆) blog.
  4. ^ 4.0 4.1 "There are currently around 100 cells for services such as Print, Search History, Maps, and Orkut." Google's BigTable (页面存档备份,存于互联网档案馆
  5. ^ "Their new solution for thumbnails is to use Google’s BigTable, which provides high performance for a large number of rows, fault tolerance, caching, etc. This is a nice (and rare?) example of actual synergy in an acquisition." YouTube Scalability Talk (页面存档备份,存于互联网档案馆
  6. ^ "How Entities and Indexes are Stored - Google App Engine - Google Code". [2011-04-05]. (原始内容存档于2011-10-06). 
  7. ^ "We have described Bigtable, a distributed system for storing structured data at Google....Our users like the performance and high availability provided by the Bigtable implementation, and that they can scale the capacity of their clusters by simply adding more machines to the system as their resource demands change over time...Finally, we have found that there are significant advantages to building our own storage solution at Google. We have gotten a substantial amount of flexibility from designing our own data model for Bigtable." from the Conclusion of "Bigtable: A Distributed Storage System for Structured Data", 2006

外部連結

  • Bigtable: A Distributed Storage System for Structured Data(页面存档备份,存于互联网档案馆) -(official paper; PDF(页面存档备份,存于互联网档案馆))
  • BigTable: A Distributed Structured Storage System(video(页面存档备份,存于互联网档案馆))
    • more video
    • Google's BigTable -(notes on the official presentation)
  • "How Google Works"[失效連結]
  • Is the Relational Database Doomed ?
鍵值存儲
最終一致性鍵值存儲
  • Cassandra
  • Dynamo英语Dynamo
  • Riak英语Riak
  • Hibari英语Hibari
  • Virtuoso英语Virtuoso
  • Voldemort英语Voldemort_(distributed_data_store)
內存鍵值存儲
  • Memcached
  • Redis
  • Oracle Coherence英语Oracle Coherence
  • NCache英语NCache
  • Hazelcast英语Hazelcast
  • Tuple space英语Tuple space
  • Velocity英语Velocity_(memory_cache)
持久化鍵值存儲
  • BigTable
  • LevelDB
  • Tokyo Cabinet英语Tokyo Cabinet
  • Tarantool
  • TreapDB英语TreapDB
  • Tuple space英语Tuple space
文檔存儲
  • MongoDB
  • CouchDB
  • SimpleDB
  • Terrastore
  • BaseX英语BaseX
  • Clusterpoint英语Clusterpoint
  • Riak英语Riak
  • No2DB
圖存儲
  • FlockDB英语FlockDB
  • DEX
  • Neo4J英语Neo4J
  • AllegroGraph英语AllegroGraph
  • InfiniteGraph英语InfiniteGraph
  • OrientDB英语OrientDB
  • Pregel
NoSQL理論
列表级条目 NoSQL數據庫比較
Google
部門
广告
通讯
硬件
软件
平台
开发工具
出版
搜索
算法
特征
分析
停止开发
人物
创始人
其它
活动
项目
房地产
相关
  • 主题 主题页面
  • 分类 相关分类
  • 共享资源页面 共享资源
云端
子公司
  • Apigee英语Apigee
  • Bitium英语Bitium
  • Chronicle英语Chronicle Security
  • Kaggle
  • Looker英语Looker (company)
  • Orbitera英语Orbitera
Google Workspace