Changes between Version 28 and Version 29 of HyperTable
- Timestamp:
- Jun 17, 2008, 6:28:19 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TabularUnified HyperTable
v28 v29 13 13 == 【系統架構】 == 14 14 [[Image(SystemOverview.jpg,align=center)]][[BR]](reference:[http://code.google.com/p/hypertable/wiki/ArchitecturalOverview Architectural Overview]) 15 * Hyperspace 16 主要的作業內容為負責整個架構裡面的檔案系統鎖定管理服務,以及儲存檔案系統裡的Metadata資料,其鎖定方式分為獨佔式鎖定與分享式鎖定檔案或目錄,目前架構在同一時間只能運作一個Hyperspace實體,未來可能會實作出可以同時運作多個Hyperspace實體的分散式架構,此外,它儲存的Metadata資料可以幫助搜尋出分散式結構化數據的源頭,因此它也提供搜尋資料結構源頭置的服務。 17 * Range Server 18 資料表的資料內容會分開存放在不同的Row Ranges裡,一個Range Server負責掌管數個Row Ranges,一開始的資料表只會有一個Row Range,隨著資料內容增加,當一個Row Range超過預設的200MB限制大小時,會平分成2個Row Range,然後1個給原本的Range Server負責管理,另一個安排給其他由Master所指定的Range Server。 19 * Master 20 * DFS Broker 15 21 == 【欄位導向資料庫原理說明】 == 16 22 * Hypertable 將資料運用主鍵排列儲存在table裡。資料庫所有cell的值都是不解釋的字符數組串,沒有任何類型與型態。Hypertables藉由將tables切割成連續的範圍,並分佈儲存到不同的實體機器上,來擴大規模。Hypertable cluster有兩種server: (1) Range Servers - 掌管一個範圍內的一連串資料; (2) Master Servers - 處理管理工作和監督 Range Servers。單一實體機器可以同時跑 Range Server process 和 Master Server process。單一Range Server可以掌管許多不連續的ranges;單一 Master Server負責很聰明地將它們做分散的規劃管理。如果某單一range滿了的話,range則被分半並重新配置。上半部的range不變,下半部的range則被Master Server重新指定到一個新的Range Server。預設最大的range size是200MB。如果全部的 Range Servers都已滿了, Master Servers則會將ranges搬移到較少較不滿的Range Servers。ranges的清單及它們位在哪裡以METADATA型式存在table裡,如同正規的table一樣與Hypertable共存。而Hyperspace 提供一個類似一般正規檔案系統的命名空間,並為客戶端扮演一個鎖定管理者做控管。