hbase是apache hadoop中的乙個子專案,hbase依託於hadoop的hdfs作為最基本儲存基礎單元,通過使用hadoop的dfs工具就可以看到這些這些資料 儲存資料夾的結構,還可以通過map/reduce的框架(演算法)對hbase進行操作,如下圖所示:
hbase在產品中還包含了jetty,在hbase啟動時採用嵌入式的方式來啟動jetty,因此可以通過web介面對hbase進行管理和檢視當前執行的一些狀態,非常輕巧方便。
hbase是apache hadoop中的乙個子專案,現已成為apache的頂級專案。
hbase是google bigtable(基於google file system)的開源山寨版本。
hbase作為面向列的資料庫執行在hdfs之上,hdfs缺乏隨即讀寫操作,hbase正是為此而出現。hbase以google bigtable為藍本,以鍵值對的形式儲存。專案的目標就是快速在主機內數十億行資料中定位所需的資料並訪問它。
hbase是乙個資料庫,乙個nosql的資料庫,像其他資料庫一樣提供隨即讀寫功能,hadoop不能滿足實時需要,hbase正可以滿足。如果你需要實時訪問一些資料,就把它存入hbase,你可以用hadoop作為靜態資料倉儲,hbase作為資料儲存,放那些進行一些操作會改變的資料。
hbase是介於map entry(key & value)和db row之間的一種資料儲存方式。就點有點類似於現在流行的memcache,但不僅僅是簡單的乙個key對應乙個 value,你很可能需要儲存多個屬性的資料結構,但沒有傳統資料庫表中那麼多的關聯關係,這就是所謂的鬆散資料。
簡單來說,你在hbase中的表建立的可以看做是一張很大的表,而這個表的屬性可以根據需求去動態增加,在hbase中沒有表與表之間關聯查詢。你只需要 告訴你的資料儲存到hbase的那個column families 就可以了,不需要指定它的具體型別:char,varchar,int,tinyint,text等等。但是你需要注意hbase中不包含事務此類的功能。
apache hbase 和google bigtable 有非常相似的地方,乙個資料行擁有乙個可選擇的鍵和任意數量的列。表是疏鬆的儲存的,因此使用者可以給行定義各種不同的列,對於這樣的功能在大專案中非常實用,可以簡化設計和公升級的成本。
hbase 是基於列的資料庫,讓我們看一下關係型資料庫和hbase資料庫儲存的對比。
行式儲存和列式儲存對比:
行式儲存
列式儲存
資料按列儲存——每一列單獨存放
資料即是索引
只訪問查涉及的列——大量降低系統io
每一列由乙個線索來處理——查詢的併發處理
資料型別一致,資料特徵相似——高效壓縮
hbase 是基於
下面的**中hbase和rdbms的對比關係
hbase
rdbms
資料型別
只有字串
豐富的資料型別
資料操作
簡單的增刪改查
各種各樣的函式,表連線
儲存模式
基於列儲存
基於**結構和行儲存
資料保護
更新後舊版本仍然會保留
替換可伸縮性
輕易的進行增加節點,相容性高
需要中間層,犧牲功能
HBase 命令簡介
1.進入hbase 的控制端 可以在任意一台機器上啟動,只要其配置和hmaster 的配置一樣 hbase shell 進入後,出現類似下面的提示符 hbase main 002 0 2.輸入 help 可以列出所有的命令。得到某個命令的詳細用法 help create 注 在 shell 中如果輸...
HBase學習筆記(一) 《HBase簡介》
hbase簡介 1 hbase表的結構 hbase以表 table 的形式儲存資料 row key 行鍵 與nosql資料庫們一樣,row key是用來檢索記錄的主鍵。row key行鍵 row key 可以是任意字串 最大長度是 64kb,實際應用中長度一般為 10 100bytes 在hbase...
HBase 筆記 1 簡介
1 列式儲存資料庫 不同於傳統關聯式資料庫的行式儲存。其優勢為 1 對於特定查詢,不是所有值都是必需的,可減少io。2 列的資料型別相似,有利於壓縮,返回結果時降低頻寬消耗。2 hbase 的region 和regionserver 每乙個region 只能由一台region server 載入,每...