HBase基於Hadoop的一個欄導向資料庫(column-oriented),具有即時性與可分散的特性。
在CAP理論中,HBase選擇C與P,確保資料一致性以及可網路分區。更多的CAP理論可以看這篇文章,
http://oss-tw.blogspot.tw/2010/04/hbase-vs-cassandra.html
今天會介紹HBase的概念~
HBase是NoSQL資料庫的一種,NoSQL代表的是not only sql,
隨著資料量越來越多,過去的傳統關聯式資料庫開始遇到一些瓶頸,遇到效能不足只能進行scale up ,雖然也可以透過切分區或做Clustr,不過成本都比較高一點(商業的解決方案比較多)。
但是選用Nosql其實蠻多開源碼可以選擇,而且遇到大資料也較多解決方案,
Nosql的資料,這個網站整理得蠻不錯了。
http://nosql-database.org/
HBase的特性
1.Key-Value
2.In-memory
3.分散式可擴充
4.容錯
HBase的資料結構與存取概念
(Table, RowKey, Column Family, Column, Timestamp) => Value
如果要從Hbase塞資料和拿資料,最少的取得參數就是Table與Key,
但是如果要表達儲存的概念:
SortedMap<RowKey, List<SoretedMap<Column,List<Value,Timestamp>>>>
這樣就可以大概知道,Key如果在存放的時候,是按照sorted存放,接著Key底下有Column Family,也是按照SoretedMap存放Colum,接著底下有各個時間(Timestamp)所存放的Value。