Changes between Version 28 and Version 29 of HyperTable


Ignore:
Timestamp:
Jun 17, 2008, 6:28:19 PM (16 years ago)
Author:
sunny
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HyperTable

    v28 v29  
    1313== 【系統架構】 ==
    1414[[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
    1521== 【欄位導向資料庫原理說明】 ==
    1622 * 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 提供一個類似一般正規檔案系統的命名空間,並為客戶端扮演一個鎖定管理者做控管。