此討論並不侷限於hbase,也會延伸到mongodb和cassandra這樣的nosql資料庫。
1、rdbms
rdbms有以下特點:
面向檢視:rdbms表使用固定的檢視,表中的資料型別也會事先定義。表的檢視在建立時就已經定義,並且不容易修改。向檢視中新增元素的操作會以新建表的形式實現,這一操作會在原始表和新建表中建立一對一關係。這也限制了rdbms的使用場景,rdbms適合高度結構化的用例場景,比如金融資料儲存。
標準化資料:rdbms通常儲存著高度標準化的資料,但是資料倉儲中可能存在非標準化的資料。資料倉儲通常針對的是報表型用例,而標準化資料儲存則是針對事務型用例。
薄表:rdbms表中通常不會包含太多列,並且最大只支援幾百個列。這導致rdbms通常會使用多個表,並且會在這些表間建立各種關係,比如一對
一、一對多、多對多。
2、hbase(nosql資料庫)
hbase有以下特點:
弱檢視:hbase是一種高效的對映巢狀。使用者可以在執行時定義列,每一行都有屬於自己的列。hbase將解釋資料值的任務交給應用程式。
因此,hbase非常適合資料結構靈活的應用。比如,乙個專利應用的場景,資料結構必須是靈活的;為了提高效能,需要在一次查詢中檢索出所有文件。同時每個文件都包含多個頁面,每個頁面都有自己的id。與資料庫不同,在資料庫中需要使用額外的元資料表來描述頁面id,hbase中的列鍵是自描述的。當文件中的頁面數量龐大時,列可以根據頁面的資料進行調整。而不包含這麼多頁面的文件則可以將不需要的列設定為空值。
非標準化資料:從hbase表中檢索出的行是用例視角的資訊全集,這能極大減少伺服器的執行週期並支援大量的併發請求。
hbase和RDBMS的區別
一 hbase是個什麼東西?首先我們來看看兩個概念,面向 行儲存和面向 列儲存。面向行儲存,我相信大夥兒應該都清楚,我們熟悉的rdbms就是此種型別的,面向行儲存的資料庫主要適合於事務性要求嚴格場合,或者說面向行儲存的儲存系統適合oltp,但是根據cap理論,傳統的rdbms,為了實現強一致性,通過...
HBase和RDBMS的區別
1沒有真正的索引 行是順序儲存的,每行中的列也是,所以不存在索引膨脹問題,而且插入效能和表的大小無關。2自動分割槽 在表增長的時候,表會自動 成區域,並分布到可用的節點上。線性擴充套件和對新節點的自動處理 增加乙個節點,把它指向現有集群並執行regionserver。3區域自動重新進行平衡,負載均勻...
RDBMS與NOsql的區別
關係型資料庫 關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯...