精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

MongoDB距“干掉”MySQL登上王位還有多遠

責任編輯:editor006

作者:三文魚

2017-12-20 16:10:07

摘自:it168網(wǎng)站

幾十年來,關(guān)系型數(shù)據(jù)庫已經(jīng)成為企業(yè)應用程序的基礎(chǔ),自從MySQL在1995年發(fā)布以來,深受企業(yè)的偏愛。6 性能優(yōu)越:千萬級別的文檔對象或近10G的數(shù)據(jù),對有索引的ID的查詢不會比MySql慢,而對非索引字段的查詢,則是全面勝出。

幾十年來,關(guān)系型數(shù)據(jù)庫已經(jīng)成為企業(yè)應用程序的基礎(chǔ),自從MySQL在1995年發(fā)布以來,深受企業(yè)的偏愛。然而隨著近年來數(shù)據(jù)量和數(shù)據(jù)的不斷激增,非關(guān)系數(shù)據(jù)庫技術(shù)如MongoDB應運而生,以滿足新應用的需求。 MongoDB用于新的應用程序,以及擴充或替換現(xiàn)有的關(guān)系型基礎(chǔ)設(shè)施(關(guān)系型數(shù)據(jù)庫)。

MongoDB勢頭正熱,不少人要問,MongoDB是不是要“干掉”MySQL,獨霸武林了?讓我們一起看看數(shù)據(jù)庫之間的恩恩怨怨吧。

MongoDB距“干掉”MySQL登上王位還有多遠

MongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲比較復雜的數(shù)據(jù)類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。

與關(guān)系型數(shù)據(jù)庫相比,MongoDB的優(yōu)點:

1. 弱一致性(最終一致),更能保證用戶的訪問速度。

2.文檔結(jié)構(gòu)的存儲方式,能夠更便捷的獲取數(shù)據(jù)。 對于一個層級式的數(shù)據(jù)結(jié)構(gòu)來說,如果要將這樣的數(shù)據(jù)使用扁平式的,表狀的結(jié)構(gòu)來保存數(shù)據(jù),這無論是在查詢還是獲取數(shù)據(jù)時都十分困難。

3.內(nèi)置GridFS,支持大容量的存儲。GridFS是一個出色的分布式文件系統(tǒng),可以支持海量的數(shù)據(jù)存儲。內(nèi)置了GridFS了MongoDB,能夠滿足對大數(shù)據(jù)集的快速范圍查詢。

4.內(nèi)置Sharding。提供基于Range的Auto Sharding機制:一個collection可按照記錄的范圍,分成若干個段,切分到不同的Shard上。 Shards可以和復制結(jié)合,配合Replica sets能夠?qū)崿F(xiàn)Sharding+fail-over,不同的Shard之間可以負載均衡。

5.官方支持,安全有保障。開源文檔數(shù)據(jù)庫MongoDB背后有商業(yè)公司10gen為其提供供商業(yè)培訓和支持。而且MongoDB社區(qū)非常活躍,很多開發(fā)框架都迅速提供了對MongoDB的支持。不少知名大公司和網(wǎng)站也在生產(chǎn)環(huán)境中使用MongoDB,越來越多的創(chuàng)新型企業(yè)轉(zhuǎn)而使用MongoDB作為和Django,RoR來搭配的技術(shù)方案。

6.性能優(yōu)越:千萬級別的文檔對象或近10G的數(shù)據(jù),對有索引的ID的查詢不會比MySql慢,而對非索引字段的查詢,則是全面勝出。MySql實際無法勝任大數(shù)據(jù)量下任意字段的查詢,而Mongodb的查詢性能超高。寫入性能同樣很令人滿意。

與關(guān)系型數(shù)據(jù)庫相比,MongoDB的缺點:

但在很多情況下MongoDB并如MySql。

1. MongoDB不支持事務,事務要求嚴格的系統(tǒng)(如果銀行系統(tǒng))不能用它。但在文檔級別,具有原子性。

2. 對于復制環(huán)境,有關(guān)寫入問題的配置注意事項都是以犧牲性能為代價的。寫入方面將驗證副本是否已寫入信息,默認情況下,MongoDB將寫請求設(shè)置為僅從主計算機請求確認,而不是副本。因為如果副本有問題,就會導致一致性問題。關(guān)于其原因,在官方的FAQ中,提到有如下幾個方面:

A. 空間的預分配;

B. 字段名所占用的空間;

C. 刪除記錄不釋放空間。

雖然大多數(shù)現(xiàn)代應用程序需要一個靈活的可擴展系統(tǒng),如MongoDB,但是有一些關(guān)系數(shù)據(jù)庫(如MySQL)將更適合使用的情況。需要復雜的多行事務的應用程序(例如雙記錄bookkeep系統(tǒng))將是很好的例子。 MongoDB不是圍繞關(guān)系數(shù)據(jù)模型和SQL構(gòu)建的遺留應用程序的替代方法。

寫在最后

MongoDB能否“干掉”MySQL,這個問題像是在問非關(guān)系型數(shù)據(jù)庫能否替代關(guān)系型數(shù)據(jù)庫。新的業(yè)務需求推動企業(yè)采用MongoDB作為其應用程序的下一代組件。許多客戶現(xiàn)在享受更高程度的功能和個性化作為一體化的結(jié)果。但大多數(shù)產(chǎn)品最初建立在MySQL上并繼續(xù)運行。目前看來,非關(guān)系型數(shù)據(jù)庫登上王位的路途既長又險。

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 吴旗县| 连山| 磐安县| 防城港市| 无为县| 三台县| 南涧| 长白| 四会市| 定安县| 富阳市| 迁西县| 积石山| 常宁市| 皮山县| 平原县| 伽师县| 海兴县| 砚山县| 怀仁县| 青浦区| 延庆县| 甘谷县| 昌宁县| 宁河县| 绥化市| 微山县| 安阳市| 东方市| 崇文区| 大城县| 阿巴嘎旗| 辽中县| 额尔古纳市| 北川| 宜黄县| 贵州省| 玛多县| 阜宁县| 长垣县| 兴安县|