hbase简介(大数据技术)
HBase是什么?
HBase是建立在Hadoop文件系統之上的分布式面向列的數據庫。它是一個開源項目,是橫向擴展的。
HBase是一個數據模型,類似于谷歌的大表設計,可以提供快速隨機訪問海量結構化數據。它利用了Hadoop的文件系統(HDFS)提供的容錯能力。
它是Hadoop的生態系統,提供對數據的隨機實時讀/寫訪問,是Hadoop文件系統的一部分。
人們可以直接或通過HBase的存儲HDFS數據。使用HBase在HDFS讀取消費/隨機訪問數據。 HBase在Hadoop的文件系統之上,并提供了讀寫訪問。
HBase 和 HDFS
HDFS HBase
HDFS是適于存儲大容量文件的分布式文件系統。 HBase是建立在HDFS之上的數據庫。
HDFS不支持快速單獨記錄查找。 HBase提供在較大的表快速查找
它提供了高延遲批量處理;沒有批處理概念。 它提供了數十億條記錄低延遲訪問單個行記錄(隨機存取)。
它提供的數據只能順序訪問。 HBase內部使用哈希表和提供隨機接入,并且其存儲索引,可將在HDFS文件中的數據進行快速查找。
HBase的存儲機制
HBase是一個面向列的數據庫,在表中它由行排序。表模式定義只能列族,也就是鍵值對。一個表有多個列族以及每一個列族可以有任意數量的列。后續列的值連續地存儲在磁盤上。表中的每個單元格值都具有時間戳。總之,在一個HBase:
? 表是行的集合。
? 行是列族的集合。
? 列族是列的集合。
? 列是鍵值對的集合。
下面給出的表中是HBase模式的一個例子。
Rowide Column Family Column Family Column Family Column Family
col1 col2 col3 col1 col2 col3 col1 col2 col3 col1 col2 col3
1
2
3
面向列和面向行
面向列的數據庫是存儲數據表作為數據列的部分,而不是作為行數據。總之它們擁有列族。
行式數據庫 列式數據庫
它適用于聯機事務處理(OLTP)。 它適用于在線分析處理(OLAP)。
這樣的數據庫被設計為小數目的行和列。 面向列的數據庫設計的巨大表。
下圖顯示了列族在面向列的數據庫:
HBase 和 RDBMS
HBase RDBMS
HBase無模式,它不具有固定列模式的概念;僅定義列族。 RDBMS有它的模式,描述表的整體結構的約束。
它專門創建為寬表。 HBase是橫向擴展。 這些都是細而專為小表。很難形成規模。
沒有任何事務存在于HBase。 RDBMS是事務性的。
它反規范化的數據。 它具有規范化的數據。
它用于半結構以及結構化數據是非常好的。 用于結構化數據非常好。
HBase的特點
? HBase線性可擴展。
? 它具有自動故障支持。
? 它提供了一致的讀取和寫入。
? 它集成了Hadoop,作為源和目的地。
? 客戶端方便的Java API。
? 它提供了跨集群數據復制。
在哪里可以使用HBase?
? Apache HBase曾經是隨機,實時的讀/寫訪問大數據。
? 它承載在集群普通硬件的頂端是非常大的表。
? Apache HBase是此前谷歌Bigtable模擬非關系型數據庫。 Bigtable對谷歌文件系統操作,同樣類似Apache HBase工作在Hadoop HDFS的頂部。
HBase的應用
? 它是用來當有需要寫重的應用程序。
? HBase使用于當我們需要提供快速隨機訪問的數據。
? 很多公司,如Facebook,Twitter,雅虎,和Adobe內部都在使用HBase。
這只是簡單的一部分,需要了解更多請繼續學習
總結
以上是生活随笔為你收集整理的hbase简介(大数据技术)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试的缺陷管理系统有哪些,简述:一款
- 下一篇: 计算机电子琴弹奏怎么打开,怎么打开电脑键