自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么MongoDB敢說“做以前你從未能做的事”

數(shù)據(jù)庫 其他數(shù)據(jù)庫 MongoDB
在MongoDB的網(wǎng)站上,它這樣自我介紹:做以前你從未能做的事(Do What You Could Never Do Before)。為什么MongoDB敢這樣說?它有什么長處與不足?今天我們給大家拋磚引玉。

在MongoDB的網(wǎng)站上,它這樣自我介紹:做以前你從未能做的事(Do What You Could Never Do Before)。為什么MongoDB敢這樣說?它有什么長處與不足?今天我們給大家拋磚引玉。

 

為什么MongoDB敢說“做以前你從未能做的事”

一、 MongoDB是什么?

“需求是創(chuàng)新之母。” 雖然這是句老話,但現(xiàn)在依然很受用!

過去的十年,我們將數(shù)據(jù)生成、存儲和分析的臨界點推上一個全新的高度。這個大躍進是我們向數(shù)字化的數(shù)據(jù)驅動的經濟又近了一步;這個大躍進也創(chuàng)造了它自身的需要。而這些問題及其解決方法通常都在大數(shù)據(jù)的保護傘之下。

想象一下:如今,臉書和谷歌產生了更多的數(shù)據(jù),它們加在一起超過了前幾年的全球數(shù)據(jù)總量。伴隨數(shù)據(jù)生成的高速增長,隨之而來是存儲和規(guī)模的問題??矗腥硕枷M槙系挠嗛喣軌虮凰查g加載——我們憎恨端著手機和電腦在那兒傻傻等著它加載??苫仡^想想,什么架構才能使我們有這樣快速體驗?數(shù)百萬的用戶同時向數(shù)據(jù)庫請求實時信息。再加上非結構化數(shù)據(jù)和系統(tǒng)需求(讓您可以快速添加新功能),這看上去更像是一個不可能完成的任務。

傳統(tǒng)的數(shù)據(jù)庫很難應付這種需求,且提升規(guī)模所需的成本令人望而卻步。本文給大家介紹一個新型的數(shù)據(jù)存儲系統(tǒng),大家管它叫做MongoDB。它提供了無架構設計、高性能、高可用性和自動規(guī)模伸縮,這是當前所需要但傳統(tǒng)RDBMS系統(tǒng)無法滿足的性質。

 

維基上這么描述MongoDB

MongoDB(源自huMONGOus一詞,意為“堆積如山的”)是一個跨平臺的面向文檔的NoSQL數(shù)據(jù)庫。MongoDB避開了傳統(tǒng)的基于表格的關系型數(shù)據(jù)庫結構,代之以具有動態(tài)結構的類JSON文檔格式(MongoDB稱之為BSON),從而使一些特定類型應用的數(shù)據(jù)整合更容易、更快。在GNU Affero和Apach許可下發(fā)布的MongoDB是一個免費的開源軟件。

二、有誰在用MongoDB?

下面只列舉其中一部分。實際上,MongoDB在全球已有一千萬次以上的下載量,目前有三十萬人正在學習MongoDB。

 

為什么MongoDB敢說“做以前你從未能做的事”

三、對比傳統(tǒng)關系型數(shù)據(jù)庫

將關系型數(shù)據(jù)庫和MongoDB進行比較,就好似在比較一只獅子和一只老虎一般。雖然都是食肉動物,但是一個是獨自狩獵,另一個則是群體出動。SQL(老虎)有著一個固定的數(shù)據(jù)模型,其中的數(shù)據(jù)需要遵循架構的設計,這有助于組織分析例如銷售統(tǒng)計類的結構化數(shù)據(jù)。而另一方,MongoDB(獅子)是一個基于文檔的數(shù)據(jù)庫,它以文檔的形式存儲數(shù)據(jù)。雖然他們的方法不同,但依據(jù)組織化的需求,這兩者都需要數(shù)據(jù)存儲并選擇數(shù)據(jù)庫類型。

為什么MongoDB敢說“做以前你從未能做的事”

 

四、使用MongoDB有什么優(yōu)點?

為什么MongoDB敢說“做以前你從未能做的事”

 


從上面的附圖你可以發(fā)現(xiàn),當服務器上的查詢數(shù)量增加時,MongoDB就明顯是一個勝利者。MongoDB 非常適用于實時分析,它有著低延遲以及針對需求的高可用性。

MongoDB已經進入了前沿領域,因為各類組織需要分析半結構化、非結構化以及地理或空間數(shù)據(jù),更因為現(xiàn)今世界原先的結構化數(shù)據(jù)正在被快速的改變。

傳統(tǒng)的關系型數(shù)據(jù)庫系統(tǒng)不能完全應付得了這些需求,因為它們固有的結構不允許它們處理這樣的需求。雖然關系型數(shù)據(jù)庫系統(tǒng)也在改變,來迎合數(shù)據(jù)的大爆發(fā),但最適合處理當今數(shù)據(jù)的數(shù)據(jù)庫仍是像MongoDB這類文檔數(shù)據(jù)庫。

#p#

五、MongoDB的局限性是什么?

以下列舉了一些MongoDB的限制。

1.最大的文件不能超過16MB

2.最大文件嵌套層級為100(指文件嵌套文件再嵌套文件)

3.索引區(qū)不能超過1024字節(jié)。

4.每個集合最多為64個索引。

5.創(chuàng)建一個復合索引最多使用31個字段。

6.全文本搜索和地理位置索引是互斥的。

7.在32位機器上,一個固定集合(capped collection)中的文件數(shù)量大小是有限制的。但64位機器上則對文件數(shù)量大小沒有限制。

8.在Windows系統(tǒng)上,MongoDB不能存儲超過4TB的數(shù)據(jù)(去除日志后為8TB)

9.在單個復制集中最多可有12個節(jié)點。

10.在單個復制集中最多可有7個投票節(jié)點。

11.如要回滾超過300MB的數(shù)據(jù),需要進行人工干預。

12.在分片集群(sharded cluster)中無法使用組命令。

13.在分片集群中無法使用 $isolated, $snapshot, geoSearch。

14.你無法在 $where中涉及到數(shù)據(jù)庫對象。

15.為了分片一個集合,它必須小于256GB。

16.在分片集群中對單條記錄(非多條)的更新/移出必須包含分片密鑰。同樣命令針對多條記錄執(zhí)行時則可以不包含分片密鑰。

17.分片密鑰最大值為512字節(jié)。

18.一旦分片完成,一個集合的分片密鑰值將無法改變。

除了這些限制以外,在關系型數(shù)據(jù)庫系統(tǒng)中用約束來防止數(shù)據(jù)被意外刪除的功能在MongoDB或其他NoSQL數(shù)據(jù)庫系統(tǒng)中無法實現(xiàn)。 也可能有其它問題,例如像下面列示的這個,為了存儲多層數(shù)據(jù)而違反了標準范式。

 

為什么MongoDB敢說“做以前你從未能做的事”

一個用戶有許多朋友,并可能其中之一就是他自己。人們可能反復對自身進行點贊、評論或兩者皆有的行為動作。這種類型的反復模式使得它更難將一個活動流反規(guī)范化(de-normalize)為一份獨立的文檔

MongoDB也像其它科技一般,非常公平的共享了它的局限性和缺陷,并且隨著版本更新,它們將很有希望被解決。
 

責任編輯:Ophira 來源: 大數(shù)據(jù)文摘微信號
相關推薦

2013-11-29 09:41:04

2022-09-05 11:28:07

數(shù)據(jù)分析活動分析

2015-11-23 09:50:17

大數(shù)據(jù)

2021-03-22 08:29:59

Elasticsear搜索系統(tǒng)

2024-10-22 11:34:34

數(shù)據(jù)分析統(tǒng)計學

2022-08-29 11:59:29

監(jiān)控數(shù)據(jù)DAU

2024-07-30 14:05:00

2021-06-05 18:00:18

數(shù)據(jù)分析運營

2021-11-09 13:59:47

物聯(lián)網(wǎng)安全設備

2019-09-16 20:00:52

C語言編程語言

2016-02-26 09:53:04

技能時代觸動

2024-07-16 11:51:54

數(shù)據(jù)復盤報告

2021-03-26 08:41:11

Go語言Docker

2012-06-13 16:01:49

Passbook蘋果

2023-03-26 19:18:27

2014-01-06 16:39:43

2016-08-19 01:59:22

APPAPM用戶

2017-11-29 18:16:15

高并發(fā)ERP態(tài)牛

2017-01-22 12:41:02

CinnamonLinux桌面

2024-07-10 11:40:15

點贊
收藏

51CTO技術棧公眾號