在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 大數(shù)據(jù)/ HBase教程
HBase禁用表
HBase創(chuàng)建表
HBase客戶端API
HBase安裝
HBase表描述和修改
HBase Admin API
HBase掃描
HBase創(chuàng)建數(shù)據(jù)
HBase列出表
HBase刪除數(shù)據(jù)
HBase讀取數(shù)據(jù)
HBase常用命令
HBase更新數(shù)據(jù)
HBase關(guān)閉
HBase架構(gòu)
HBase Shell
HBase Exists
HBase安全
HBase教程
HBase啟用表
HBase計數(shù)和截斷
HBase刪除表

HBase教程

自1970年以來,關(guān)系數(shù)據(jù)庫用于數(shù)據(jù)存儲和維護(hù)有關(guān)問題的解決方案。大數(shù)據(jù)的出現(xiàn)后,好多公司實現(xiàn)處理大數(shù)據(jù)并從中受益,并開始選擇像 Hadoop 的解決方案。

Hadoop使用分布式文件系統(tǒng),用于存儲大數(shù)據(jù),并使用MapReduce來處理。Hadoop擅長于存儲各種格式的龐大的數(shù)據(jù),任意的格式甚至非結(jié)構(gòu)化的處理。

Hadoop的限制

Hadoop只能執(zhí)行批量處理,并且只以順序方式訪問數(shù)據(jù)。這意味著必須搜索整個數(shù)據(jù)集,即使是最簡單的搜索工作。

當(dāng)處理結(jié)果在另一個龐大的數(shù)據(jù)集,也是按順序處理一個巨大的數(shù)據(jù)集。在這一點上,一個新的解決方案,需要訪問數(shù)據(jù)中的任何點(隨機(jī)訪問)單元。

Hadoop隨機(jī)存取數(shù)據(jù)庫

應(yīng)用程序,如HBase, Cassandra, couchDB, Dynamo 和 MongoDB 都是一些存儲大量數(shù)據(jù)和以隨機(jī)方式訪問數(shù)據(jù)的數(shù)據(jù)庫。

HBase是什么?

HBase是建立在Hadoop文件系統(tǒng)之上的分布式面向列的數(shù)據(jù)庫。它是一個開源項目,是橫向擴(kuò)展的。

HBase是一個數(shù)據(jù)模型,類似于谷歌的大表設(shè)計,可以提供快速隨機(jī)訪問海量結(jié)構(gòu)化數(shù)據(jù)。它利用了Hadoop的文件系統(tǒng)(HDFS)提供的容錯能力。

它是Hadoop的生態(tài)系統(tǒng),提供對數(shù)據(jù)的隨機(jī)實時讀/寫訪問,是Hadoop文件系統(tǒng)的一部分。

人們可以直接或通過HBase的存儲HDFS數(shù)據(jù)。使用HBase在HDFS讀取消費(fèi)/隨機(jī)訪問數(shù)據(jù)。 HBase在Hadoop的文件系統(tǒng)之上,并提供了讀寫訪問。

HBase Flow

HBase 和 HDFS

HDFS HBase
HDFS是適于存儲大容量文件的分布式文件系統(tǒng)。 HBase是建立在HDFS之上的數(shù)據(jù)庫。
HDFS不支持快速單獨記錄查找。 HBase提供在較大的表快速查找
它提供了高延遲批量處理;沒有批處理概念。 它提供了數(shù)十億條記錄低延遲訪問單個行記錄(隨機(jī)存取)。
它提供的數(shù)據(jù)只能順序訪問。 HBase內(nèi)部使用哈希表和提供隨機(jī)接入,并且其存儲索引,可將在HDFS文件中的數(shù)據(jù)進(jìn)行快速查找。

HBase的存儲機(jī)制

HBase是一個面向列的數(shù)據(jù)庫,在表中它由行排序。表模式定義只能列族,也就是鍵值對。一個表有多個列族以及每一個列族可以有任意數(shù)量的列。后續(xù)列的值連續(xù)地存儲在磁盤上。表中的每個單元格值都具有時間戳??傊?,在一個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                        

面向列和面向行

面向列的數(shù)據(jù)庫是存儲數(shù)據(jù)表作為數(shù)據(jù)列的部分,而不是作為行數(shù)據(jù)??傊鼈儞碛辛凶?。

行式數(shù)據(jù)庫 列式數(shù)據(jù)庫
它適用于聯(lián)機(jī)事務(wù)處理(OLTP)。 它適用于在線分析處理(OLAP)。
這樣的數(shù)據(jù)庫被設(shè)計為小數(shù)目的行和列。 面向列的數(shù)據(jù)庫設(shè)計的巨大表。

下圖顯示了列族在面向列的數(shù)據(jù)庫:

Table

HBase 和 RDBMS

HBase RDBMS
HBase無模式,它不具有固定列模式的概念;僅定義列族。 RDBMS有它的模式,描述表的整體結(jié)構(gòu)的約束。
它專門創(chuàng)建為寬表。 HBase是橫向擴(kuò)展。 這些都是細(xì)而專為小表。很難形成規(guī)模。
沒有任何事務(wù)存在于HBase。 RDBMS是事務(wù)性的。
它反規(guī)范化的數(shù)據(jù)。 它具有規(guī)范化的數(shù)據(jù)。
它用于半結(jié)構(gòu)以及結(jié)構(gòu)化數(shù)據(jù)是非常好的。 用于結(jié)構(gòu)化數(shù)據(jù)非常好。

HBase的特點

  • HBase線性可擴(kuò)展。
  • 它具有自動故障支持。
  • 它提供了一致的讀取和寫入。
  • 它集成了Hadoop,作為源和目的地。
  • 客戶端方便的Java API。
  • 它提供了跨集群數(shù)據(jù)復(fù)制。

在哪里可以使用HBase?

  • Apache HBase曾經(jīng)是隨機(jī),實時的讀/寫訪問大數(shù)據(jù)。
  • 它承載在集群普通硬件的頂端是非常大的表。
  • Apache HBase是此前谷歌Bigtable模擬非關(guān)系型數(shù)據(jù)庫。 Bigtable對谷歌文件系統(tǒng)操作,同樣類似Apache HBase工作在Hadoop HDFS的頂部。

HBase的應(yīng)用

  • 它是用來當(dāng)有需要寫重的應(yīng)用程序。
  • HBase使用于當(dāng)我們需要提供快速隨機(jī)訪問的數(shù)據(jù)。
  • 很多公司,如Facebook,Twitter,雅虎,和Adobe內(nèi)部都在使用HBase。

HBase 歷史

年份 事件
Nov 2006 谷歌公布 BigTable 文件。
Feb 2007 最初的HBase原型創(chuàng)建由 Hadoop 貢獻(xiàn)。
Oct 2007 隨著Hadoop 0.15.0,第一個可用的HBase也發(fā)布了。
Jan 2008 HBase成為 Hadoop 的子項目。
Oct 2008 HBase 0.18.1 發(fā)布。
Jan 2009 HBase 0.19 發(fā)布。
Sept 2009 HBase 0.20.0 發(fā)布。
May 2010 HBase 成為 Apache 的頂級項目。


下一篇:HBase啟用表