NoSql --之Hbase庫

chyx413332087 11年前發布 | 763 次閱讀 Google 地球 DB2

轉載:

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 有非常相似的地方,一個數據行擁有一個可選擇的鍵和任意數量的列。表是疏松的存儲的,因此用戶可以給行定義各種不同的列,對于這樣的功能在大項目中非常實用,可以簡化設計和升級的成本。

 本文由用戶 chyx413332087 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!