HBASE區別于RDBMS: 首先,HBase是一個分布式的、面向列的開源資料庫,該技術來源于 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化資料的分布式存盤系統”,就像Bigtable利用了Google檔案系統(File System)所提供的分布式資料存盤一樣,HBase在Hadoop之上提供了類似于Bigtable的能力,HBase是Apache的Hadoop專案的子專案。HBase不同于一般的關系資料庫,它是一個適合于非結構化資料存盤的資料庫,另一個不同的是HBase基于列的而不是基于行的模式。RDBMS是將資料組織為相關的行和列的系統,而管理關系資料庫的計算機軟體就是RDBMS 。它通過資料、關系和對資料的約束三者組成的資料模型來存放和管理資料。然而HBASe有著一些區別。從資料模型上來說,hbase最基本的單位是列(column),一列或者多列組成一行(row),并且由唯一的行鍵(row key)來確定存盤。一個表中有很多行,每一列可能有多個版本,在每一個單元格(Cell)中存盤了不同的值。HBase的行與行之間是有序的,按照row key的字典序進行排序,行鍵是唯一的,在一個表里只出現一次,否則就是在更新同一行,行鍵可以是任意的位元組陣列,同一個列族里qualifier的名稱應該唯一,否則就是在更新同一列,列的數量沒有限制,可以有數百萬個,列值也沒有型別和長度限定。從語意上來說,hbase行資料的存取操作是原子的,可以讀取任意數目的列,因此它支持單行批量操作的事務性。從功能的實作上來說,hbase采用原生的并行架構, 如果應用程式對性能非常關注,通常的做法是把小規模的隨機讀取操作合并并排序,之后按順序批量讀取, 這樣就避免了在檔案中前后來回的移動讀取位置。除此之外,它是一種給予關鍵字字典排序的統一表格,有一定的記憶功能,能在查找程序中更快的找到所需要的。 從操作方法上來說,hbase通過單個 Row Key 訪問,以及通過 Row Key 的 range 全表掃描。Row Key 可以使任意字串(最大長度是64KB,實際應用中長度一般為 10 ~ 100bytes),在HBase 內部,Row Key 保存為位元組陣列。除此之外,hbase沒有jion操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/65385.html
標籤:非技術區
