中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么進行MongoDB和Cassandra以及HBase三種NoSQL數據庫比較

發布時間:2021-11-03 09:38:21 來源:億速云 閱讀:232 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關怎么進行MongoDB和Cassandra以及HBase三種NoSQL數據庫比較,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

Hadoop獲得了許多大數據應用的信譽,但實際情況是,NoSQL數據庫是一直處于更加廣泛部署和更廣泛的發展中的技術。盡管選擇Hadoop作為應用存儲,相對來說更直接簡單。但是,具體采用什么樣的NoSQL數據庫是個值得思考的問題,畢竟,還有超過100種的NoSQL數據庫。

我們應該選擇哪一種?

選擇傾向

“任何像樣規模的企業都會使用各種不同類型的數據存儲技術,為應對各種不同類型的數據。”Martin Fowler認為,現實的情況是你沒有足夠的精力去學習更多的存儲技術。

幸運的是,選擇越來越容易,因為市場主要圍繞在三個NoSQL數據庫上:MongoDB,Cassandra(主要由DataStax開發的,誕生于Facebook),和HBase的(和Hadoop緊密關聯在一起,也被相同社區開發出來)。

補充一點,我故意排除Redis。相對于大數據存儲,它主要用于高速內存緩存數據應用。

從LinkedIn的451研究數據顯示,市場上最具引力的是MongoDB、Cassandra和HBase:

怎么進行MongoDB和Cassandra以及HBase三種NoSQL數據庫比較

這是LinkedIn的個人資料數據。我們認為是數據存儲引擎,它通過收集工作、搜索等數據,來了解數據庫的熱門程度。而Oracle,SQL Server和MySQL的占據了統治地位,MongoDB的(第5位),Cassandra(第9位),和HBase的(第15位)。

為了更好解釋為什么這三個數據庫技術的如此耀眼,我問的每一個具有代表性的人,以確定它們成功關鍵因素:Kelly Stirman,MongoDB的產品總監;Patrick McFadin,DataStax的Cassandra首席布道師;和Justin Kestelyn,Cloudera高級總監。

但首先,我們需要了解為什么使用NoSQL的原因。

世界由非結構化數據構成

我們生活在一個數據越來越豐富的世界里,但是這些數據都不能整齊的展示在一個RDBMS(Relational Database Management System,關系數據庫管理系)的行和列中。移動、社交和云計算催生了龐大的海量的數據。根據估計,世界上90%的數據是在過去兩年中被創造,以及80%的商業數據是非結構化的。更重要的是,非結構化數據的增長速度是結構化數據的兩倍。

隨著世界的變化,數據管理要求開始超越傳統的關系型數據庫的有效范圍。最早關注這個問題解決方案的機構,包括Web技術的先驅、政府機構、從事信息技術服務的公司。

現在越來越多,形形色色的公司都希望利用類似的NoSQL和Hadoop作為替代品:通過NoSQL來建立業務運營應用,以及Hadoop來創建數據挖掘的應用程序,來幫助公司對商業數據提供有力的研究。

MongoDB:源于開發人員,為開發人員服務

在眾多NoSQL的方案中,MongoDB的Stirman指出,MongoDB的瞄準了適合各種應用的平衡的方法。它的功能接近于傳統的關系型數據庫,MongoDB的用戶不僅可以利用其橫向擴展機器的云基礎架構的優勢,并且,因為它能夠輕松定義各種靈活的數據模型,所以可以支持不同類型的數據集存儲。

MongoDB通常是開發人員第一個嘗試的NoSQL數據庫,因為它是很容易學習。Will Shulman,MongoLab(一個MongoDB服務提供商)的CEO,是這樣說的:

MongoDB中的成功在很大程度上是因為它數據結構存儲的創新,讓我們更容易和更具表現力地定義我們應用程序中的數據模型。在通常開發和應用場景中,和原有數據庫具有相同的基本數據模型是有極大好處的,因為它簡化了應用程序開發的任務,另一方面,消除了復雜的數據格式代碼轉換層。

當然,像任何其他技術一樣,MongoDB中都有其長處和短處。 MongoDB是專門為OLTP(On-Line Transaction Processing,聯機事務處理系統)模式。如果您需要復雜的事務處理,它不是一個好的選擇。然而,MongoDB的簡單性使其成為一個優秀的存儲。

(注:MongoDB以文檔的形式存儲數據,不支持事務和表連接。因此查詢的編寫、理解和優化都容易得多。)

Cassandra:規模化安全運行

三種數據庫中,至少兩種數據庫具有簡單特性:開發簡單,操作簡便。而MongoDB贏得人心的原因是簡單的開發應用,Cassandra贏得人心是因為易于管理的規模。

DataStax的McFadin告訴我,用戶往往傾向于使用Cassandra ,是因為特別在大規模集群下,增強一個關系型數據的性能、可靠性是非常困難的。一位前甲骨文DBA,McFadin是興高采烈地發現,“復制和可擴放性是基礎”,Cassandra 特點是從一開始設計就解決這個問題。

在RDBMS中的世界,數據庫功能,拓展和復制對很多開發者用戶來說,是一個難題。這個問題在過往的企業規模小的時候,不是一個大問題。而在今天,它很迅速地成為大問題。

我從McFadin和其他人那里獲知,Cassandra在機器拓展部署上,表現特別出色。Cassandra自帶的備份機制,保證各個數據中心的數據安全。至于增加容量到集群,“你只需啟動一臺新機器,并告訴Cassandra那里的新節點,”McFadin說,“然后,它完成其他剩下的事情。”

優秀的可拓展性,加上出色的寫入和可觀的查詢性能,加起來成為Cassandra高性能的核心。

NoSQL的一篇文章認為Cassandra在集群規模管理方面非常出色,但它需要一個博士學位才能上手。事實并非如此,McFadin堅持認為:
在復制、讀取和寫入是故意簡單。你可以在幾個小時內學會Cassandra的核心功能。在部署這項新技術的時候,為給開發者帶來很多的信心,因為比較少引入“黑盒子”內的技術細節和復雜的故障模式原理。

這意味著主要的開發成本,是對Cassandra數據模型的理解,以及如何結合您的應用程序。鑒于Cassandra的CQL查詢語言(類似于SQL,實際上不是SQL),McFadin說,學習這個也不困難。

更重要的是,他告訴我,“Cassandra回報給你的是,在一個數據庫中:沒有戲劇性的場景(故障)出現。這就是用戶喜歡使用Cassandra的原因。”

HBase:Hadoop的知心伙伴

HBase,像Cassandra一樣是個通過key-value面向列存儲的服務。因為它和Hadoop有著“共同血統”,被廣泛使用。事實上,正如Cloudera的Kestelyn所說的那樣,“HBase提供了一個基于記錄的存儲層,能夠快速隨機讀取和寫入數據,正好彌補了Hadoop的缺陷,Hadoop側重系統吞吐量,而犧牲I / O讀取效率為代價。”

Kestelyn接著說:


更改有效錄入到內存中,以達到最大的訪問量,同時將數據保存到HDFS。這種設計使基于Hadoop的EDH(enterprise data hub,企業數據中心)服務,能夠實時完成隨機讀寫存儲數據,但仍擁有HDFS的高容錯性和耐用性。

Hadoop的親和力,不是HBase數據庫中的人氣排名不斷上升的唯一原因。類似Cassandra,HBase是Google的Bigtable的開源實現轉化成的數據庫,天然被設計為高可擴展性。

Hbase可以利用任何數量服務器的磁盤、內存和CPU資源,同時擁有極佳的擴展功能,如自動分片。當系統負載和性能要求不斷增加,HBase的可通過簡單增加服務器節點的方式無限拓展。 HBase從底層設計上保證,在確保數據一致性的同時,提供最佳性能。

但規模不是它的唯一用途。Kestelyn指出,“由于它與Hadoop的生態系統緊密集成,對于用戶和應用程序來說,數據是容易獲取的,可以通過SQL的方式查詢(使用Cloudera的Impala,Phoenix,或Hive),甚至自由文本搜索(使用Cloudera Search)。“因此,HBase為開發人員提供了一種方法,利用現有通用的SQL語言,來建立在一個更成熟的分布式數據庫。

每種數據庫技術都有自己的長處和不足,但這里評論的三種數據庫,在大數據技術領域,占據了重要的位置。雖然未來可能還有一種全新的NoSQL數據庫技術會挑戰它們前三的位置,但目前的現實是,許多開發人員以及一批強大的成熟企業已經做出了它們的選擇:MongoDB、Cassandra 和 HBase。

以上就是怎么進行MongoDB和Cassandra以及HBase三種NoSQL數據庫比較,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

驻马店市| 剑川县| 海口市| 周至县| 吴旗县| 虹口区| 新巴尔虎左旗| 神池县| 凤台县| 玉环县| 嘉定区| 台南市| 淅川县| 伽师县| 玉林市| 都安| 天台县| 淳化县| 东港市| 阿瓦提县| 高邮市| 北流市| 车致| 象山县| 田阳县| 雅江县| 镇原县| 鄯善县| 武山县| 正定县| 武安市| 太保市| 彭州市| 乐平市| 盘锦市| 荃湾区| 竹山县| 班戈县| 嘉祥县| 永福县| 彩票|