亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HBase技術選型的準則是什么

發布時間:2021-12-09 10:14:26 來源:億速云 閱讀:159 作者:iii 欄目:大數據

這篇文章主要介紹“HBase技術選型的準則是什么”,在日常操作中,相信很多人在HBase技術選型的準則是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”HBase技術選型的準則是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

聊一聊 NoSQL

NoSQL(Not only SQL)數據庫,可以理解為區別于關系型數據庫mysql、oracle等的非關系型數據庫。聊到NoSQL不得不提著名的CAP理論,全稱 Consistency Available and Partition tolerance,即一致性、可用性與分區容錯性,這是Eric Brewer教授提出的分布式系統設計理念,并給出了定論:任何分布式系統只能同時滿足其中二點,無法做到三者兼顧。這可以說是NoSQL數據庫的理論基石,至今NoSQL領域也稱得上是百花齊放了,一直也沒有哪一款NoSQL同時兼顧著這三點特性。

NoSQL必須要在一致性、可用性與分區容錯性之間做出取舍,目前而言,幾乎所有的NoSQL都是在保有分區容錯性的基礎上選擇一致性或可用性,例如HBase就是犧牲了部分可用性換取了完全的一致性,與HBase類似的Cassandra則是犧牲了強一致性換來了可用性的保證。

NoSQL能做哪些事情、不能做哪些事情?NoSQL作為分布式系統的實現,海量數據永久性存儲、非結構化數據存儲、超大規模數據高效讀寫、超強水平擴展能力等這些特征讓NoSQL得到了廣泛應用。然而,事務支持、關聯特性,甚至于SQL查詢,這些卻是NoSQL的短板,也決定了NoSQL尚且取代不了關系型數據庫。

HBase技術選型的準則是什么

HBase 簡單介紹

HBase(Hadoop database)是一個分布式、可擴展、面向列的NoSQL數據庫,本質上是一個Key-Value系統,底層存儲基于HDFS,原生支持MapReduce計算框架,具有高吞吐、低延時的讀寫特點。

HBase 的主要特性

HBase包含很多特性,這里列舉了HBase的一些關鍵特性:

  • 強一致性讀寫:HBase并不是最終一致性,而是強一致性的系統,這使得HBase非常適合做高速的聚合操作。

  • 自動sharding:HBase的表在水平方向上以region為單位分布式存儲在各個節點上,當region達到一定大小時,就會自動split重新分布數據。

  • 自動故障轉移:這是HBase高可用的體現,當某一個節點故障下線時,節點上的region也會下線并會自動轉移到狀態良好的節點上線。

  • 面向列的存儲:HBase是面向列的存儲系統,相同特征(列族相同)的數據會被盡量放到一起,這有利于提高數據讀取的效率。

  • 無縫結合Hadoop:HBase被定義為Hadoop database,就是基于HDFS做的數據存儲,同時原生的支持MapReduce計算引擎。

  • 非常友好的API操作:HBase提供了簡單易用的Java API,并且提供了Thrift與REST的API供非Java環境使用。

  • Block Cache與Bloom Filter:查詢優化方面HBase支持Block Cache與Bloom Filter,使得HBase能夠對海量數據做高效查詢。

什么時候使用 HBase

HBase作為一款NoSQL數據庫,前面也提及了并不能解決所有問題。關于我們在實際生產過程中滿足哪些條件的時候可以選擇HBase作為底層存儲,這里給出幾點建議:

1、數據量規模非常龐大

一般而言,單表數據量如果只有百萬級或者更少,不是非常建議使用HBase而應該考慮關系型數據庫是否能夠滿足需求;單表數據量超過千萬或者十億百億的時候,并且伴有較高并發,可以考慮使用HBase。這主要是充分利用分布式存儲系統的優勢,如果數據量比較小,單個節點就能有效存儲的話則其他節點的資源就會存在浪費。

2、要求是實時的點查詢

HBase是一個Key-Value數據庫,默認對Rowkey即行鍵做了索引優化,所以即使數據量非常龐大,根據行鍵的查詢效率依然會很高,這使得HBase非常適合根據行鍵做單條記錄的查詢。值得說明的是,允許根據行鍵的一部分做范圍查詢,這里涉及到Rowkey的設計問題,不再贅言。

3、能夠容忍NoSQL短板

前面提及了NoSQL并不能解決所有問題,HBase也是一樣,如果業務場景是需要事務支持、表與表的關聯查詢等,不建議使用HBase。HBase有它適合的業務場景,我們不能苛求它能夠幫我們解決所有問題。

4、數據分析需求并不多

雖然說HBase是一個面向列的數據庫,但它有別于真正的列式存儲系統比如Parquet、Kudu等,再加上自身存儲架構的設計,使得HBase并不擅長做數據分析,或者說數據分析是HBase的弱項,所以如果主要的業務需求就是為了做數據分析,比如做報表,那么不建議直接使用HBase。

如果能夠滿足上訴的幾點,硬件條件也滿足的情況下,強烈建議考慮使用HBase作為底層存儲解決你的問題。

HBase 的使用場景

由于HBase豐富的特性,加上自身的海量數據存儲能力與超大規模并發訪問能力,使得HBase應用非常廣泛。目前已經在金融、交通、醫療、車聯網、IoT等眾多領域有了最佳實踐,涉及到訂單/賬單存儲、用戶畫像、時空/時序數據、對象存儲、Cube分析等各個使用場景。

到此,關于“HBase技術選型的準則是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴和县| 临沂市| 花莲市| 东辽县| 英超| 错那县| 陕西省| 益阳市| 开鲁县| 肇源县| 枣强县| 玉树县| 临沧市| 乌拉特中旗| 石棉县| 长治市| 阳朔县| 正定县| 建宁县| 兴宁市| 南木林县| 新田县| 和政县| 伊金霍洛旗| 无为县| 麻城市| 平和县| 莆田市| 乡宁县| 芮城县| 福泉市| 扶沟县| 南召县| 明水县| 同德县| 涡阳县| 黑水县| 宣武区| 潼南县| 塔城市| 江山市|