Bigtable

BigTable是一種壓縮的 、 高效能的 、 高可擴展性的 ， 基於Google檔案系統 （ Google File System ， GFS ） 的數據存儲系統 ， 用於儲存大規模結構化數據 ， 適用於雲端計算 。 BigTable發展於2004年 ， 現今已成爲Google的應用程式 。 像是MapReduce就常透過BigTable來儲存或更改資料 ， 其他還有Google Reader 、 Google Maps 、 Google Book Search 、 " My Search History " 、 Google Earth、Blogger.com 、 Google Code hosting 、 Orkut 、 YouTube以及Gmail等 。 Google自行發展出特別的巨型資料庫的原因 ， 自然是效能的問題 。 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 - 200 MB ， 每臺機器有100個左右的Tablets 。 所謂的Table是屬於immutable的SSTables ， 也就是存儲方式不可修改 。 另外Table還必須進行壓縮 ， 其壓縮又分成table的壓縮或系統的壓縮 。 客戶端有一指向META0的Tablets的指標 ， META0 tablets保儲所有的META1的tablets的資料記錄 。