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 EarthBlogger.comGoogle 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特許條款開源

注釋

外部連結