Changes between Version 32 and Version 33 of HyperTable


Ignore:
Timestamp:
Jul 3, 2008, 3:47:10 PM (16 years ago)
Author:
sunny
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HyperTable

    v32 v33  
    55 * 談到Hypertable要從Google用來儲存結構化數據的分散式資料庫,也就是Bigtable,開始說起,為了達到高讀取效能與Petabyte等級的資料庫容量,因此,Google設計出了一套底層為B-tree資料結構型式的儲存格式,並更改了傳統關聯式資料庫以Row來鎖定一筆資料的觀點,而採用更細緻化的Cell觀點來切入資料庫內容,並且在Cell又加上了版本控制的觀念以掌控日益新增的Cell資料版本數目,由於鎖定的目標由原本的Row縮小到Cell,因此用來定位之標的就由原本的Primary Key延伸而成為了Row Key+Column Family+Column Qualifier+Timestamp的組合,這些觀念會在稍後的章節詳細說明。然而,Bigtable的出現並不是為了取代傳統關聯式資料庫系統(RDBMS),像是在Google內部還是會用到像是MySQL等傳統資料庫,原因是這2種型態的資料庫訴求的功能面並不相同,Bigtable強調的是在數量龐大的資料庫中快速搜尋與讀取資料的效能,但是寫入效能不見得優於RDBMS,所以在一般Transaction導向應用的程式,如果常需要寫入動作或Rollback動作,而較不在乎Real-Time讀取效能的應用,還是以RDBMS較易於使用,關於Bigtable的應用面包括:存放網站索引記錄,Google Earth的衛星照片,Google Finance的金融資料記錄等等,可存放的資料單位容量大小從數kb到數十gb都可以存放,對於搜尋引擎公司來說Bigtable無疑是搜尋引擎之資料庫的最佳解決方案。[[BR]]
    66 * 有鑑於此,搜尋引擎公司-Zvents-根據Google的9位研究人員在2006年發表的《[http://labs.google.com/papers/bigtable-osdi06.pdf Bigtable:Bigtable設計規格]》為基礎,推出了一款以C++撰寫的分散式儲存結構化數據之資料庫系統-Hypertable開放原始碼專案。
    7 
    87== 【簡介】 ==
    98 * 總結來說Hypertable是一個高效能,分散式,開放源碼,與欄位導向的資料庫,可以儲存和處理叢集電腦上大量的節構化與非結構化的資料,它提供C++的API及HQL(Hypertable Query Language)給用戶端來存取資料庫內容。
     
    4847
    4948 * Hypertable 提供使用者可以透過存取群組機制來控制行資料如何實際地儲存在DFS裡。每一行家族屬於單一存取群組,所有再存取群組裡行家族的資料都實際地一起儲存在硬碟裡。這可以改善被存取頻繁的行家族之讀寫效能。以下舉個例子,一個table有100個行家族,但只有兩個行家族比較常被存取。如果這兩個行家族一起被儲存在他們自己的存取群組,那麼為了要存取它們,系統將作disk I/O只須針對這兩行。若沒有存取群組,即使只有兩行的資料要存取,這100行的資料都將實際地被讀寫。
    50 
    5149== 【效能】 ==
    5250 * Performance Test: [http://code.google.com/p/hypertable/wiki/PerformanceTestAOLQueryLog AOL Query Log](from Google)
     
    5856      * 4 x 7200 RPM SATA drives (mounted JBOD)
    5957  * The AOL query logs were inserted into an 8-node Hypertable cluster. The average size of each row key was ~7 bytes and each value was ~15 bytes. The insert rate (with 4 simultaneous insert processes) was approximately 410K inserts/s. The table was scanned at a rate of approximately 671K cells/s.
    60 == 【How we use it】 ==
     58== 【實務應用】 ==
    6159 * [http://trac.nchc.org.tw/cloud/wiki/HyperTable/BioInfo_Project 以陽明的病人屬性分類資料為範本來建立資料庫]
     60 * [http://trac.nchc.org.tw/cloud/wiki/codb_rodb_inbio 以生物醫學資訊為例探討欄位導向與列導向的資料庫設計觀念轉換]
    6261== 【同質專案】 ==
    6362 * [http://hadoop.apache.org/hbase/ HBase]: Bigtable-like structured storage for Hadoop HDFS
     
    8786 * Hypertable Documentation Tree: [http://140.110.138.176/hypertable/html/inherits.html Source Code Documentation Tree](Doxygen)
    8887 * Hypertable Query Language(HQL) Guide: [http://trac.nchc.org.tw/cloud/wiki/HyperTable/HQLTutorial HQL Hwo To]
    89 
    9088== 【網路上的討論新聞】 ==
    91 
    9289 * 關聯式資料庫的優勢逐漸消失??
    9390   * [http://insidehpc.com/2008/03/19/an-end-to-the-dominance-of-relational-databases/ An end to the dominance of relational databases]