HBase是什麼?爲何要使用HBase?

 

HBase是什麼?  web


HBase是Apache Hadoop中的一個子項目,Hbase依託於Hadoop的HDFS做爲最基本存儲基礎單元,經過使用hadoop的DFS工具就能夠看到這些這些數據 存儲文件夾的結構,還能夠經過Map/Reduce的框架(算法)對HBase進行操做,如右側的圖所示:
http://niaklq.bay.livefilestore.com/y1pG0dfN--ZmWUPjevQkIGp0CsXxWQQ6tyzYR-XAsrWWAJYHtvcdtxk0tIK66x8N_1TKj1CO79xLljO32yk0KvLiNi7GAAaa2Lm/storage-hbase-m.png?psid=1
HBase在產品中還包含了Jetty,在HBase啓動時採用嵌入式的方式來啓動Jetty,所以能夠經過web界面對HBase進行管理和查看當前運行的一些狀態,很是輕巧。 算法

 

爲何採用HBase數據庫


HBase 不一樣於通常的關係數據庫,它是一個適合於非結構化數據存儲的數據庫.所謂非結構化數據存儲就是說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 有很是類似的地方,一個數據行擁有一個可選擇的鍵和任意數量的列。表是疏鬆的存儲的,所以用戶能夠給行定義各類不一樣的列,對於這樣的功能在大項目中很是實用,能夠簡化設計和升級的成本。 oop

相關文章
相關標籤/搜索