什麼是hbase?
此外hbase對bigtable的架構設計做了相應增強,主要的features如下:
1、可以易於與hadoop mapreduce整合的相關classes;
2、實時查詢優化;
3、提供rest-ful服務閘道器,支援xml, protobuf和二進位制資料編碼選項;
4、基於jruby的shell操作;
5、高效的thrift服務閘道器;
6、支援匯出監控點存入ganglia或者通過jmx的形式
為什麼需要使用hbase?
當你需要很強的容錯性,強一致性,在大資料集上實現隨機實時讀寫的時候,hbase是個不錯的選擇。hbase的目標是託管大表--數十億行,數百萬列,基於廉價伺服器的儲存之上。hbase底層採用hdfs,而檔案系統一般是具有冗餘因子的,從而在儲存層上保證了資料不會丟失。
傳統rdbms在處理大資料量的表時代價高昂,很多worklods已經超出了系統處理能力,十分耗時且低效,即便採用商業版本的也是需要大額資金的投入。而hbase scan操作所用時間線性可控。hbase採用的資料模型可動態自動化擴充套件,當達到一定限制自動sharding,而對使用方來說是透明的,這樣同時達到了資料可用性和容錯性目的。
hbase可以看做乙個分布式的map,以rowkey作為key,tag和data組成的資料作為value,每乙個cell都有自己的timestamp和versions,這種多版本和時間戳的方式可以避免併發編輯的衝突。行row是作為字典序byte公升序排列的預設。
tables被分為多個region託管在不同的regionserver上,hbase master負責管理region分配,達到負載均衡和故障快速恢復的目的。如果某個regionserver因為某個原因down掉了,master會重新將其上原有的region重新分配到其他存活的regionserver上,這個過程一般而言是比較快的,因為只是重新建立下記憶體結構,並修改下meta元資訊,本身的資料還是儲存到hdfs上的,可以共享。
哪些情況下不太適合hbase?
當你的資料並不是很大;
當你訪問資料是順序訪問,且資料結構固定,易於用m/r;
當你離不開sql來完成事情;
當你需要在一致性和可用性上做權衡;
當你需要跨表查詢且條件很複雜;
z怎樣嘗試使用hbase?
大資料 hbase hbase的應用
1 首先安裝hbase,安裝方法請看 2 使用hbase shell進入到hbase的shell,如下圖所示 3 可以通過list檢視當前資料庫中所有的表名,如下圖所示 4 使用disable person 檢視表是否存在,如下圖所示 5 使用drop person 刪除表,如下圖所示 6 新建乙個...
大資料基礎之HBase HBase物理架構解析
regionserver負責管理和維護region,負責儲存hbase的實際資料。hregion 可以看成是表的橫向切分,hbase 表的分片,hbase 每個表都會根據 rowkey 值被切分成不同的 hregion 分散儲存在 hregionserver 中,在乙個hregionserver 中...
大資料技術
如果沒有乙個好的開始,不妨試試乙個壞的開始吧。因為乙個壞的開始,總比沒有開始強。而完美的開始,則永遠都不會來到。資料採集傳輸主要技術 分為兩類,一類是離線批處理 另一類是實時資料採集和傳輸 離線批處理最有名的是sqoop 實時資料採集和傳輸最為常用的是flume和kafka sqoop 一款開源的離...