濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > MongoDB數(shù)據(jù)庫(kù)的特色和優(yōu)點(diǎn)介紹

MongoDB數(shù)據(jù)庫(kù)的特色和優(yōu)點(diǎn)介紹

熱門標(biāo)簽:兗州電話外呼營(yíng)銷系統(tǒng) 福州電銷機(jī)器人源代碼 南京400電話怎樣辦理 機(jī)器人外呼系統(tǒng)軟件存在問(wèn)題 智能電銷機(jī)器人銷售話術(shù) 徐州ai電銷機(jī)器人原理 高德地圖標(biāo)注商戶位置 沈陽(yáng)營(yíng)銷電銷機(jī)器人招商 企業(yè)智能外呼系統(tǒng)價(jià)格多少

2011年將被記住,因?yàn)檫@一年SQL將死;這一年,關(guān)系數(shù)據(jù)庫(kù)從一線退下;這一年開(kāi)發(fā)人員發(fā)現(xiàn)他們沒(méi)必要為了持久化數(shù)據(jù),而將每個(gè)對(duì)象轉(zhuǎn)化為表格結(jié)構(gòu)。

2011年是文檔數(shù)據(jù)庫(kù)的一年,盡管一直在穩(wěn)步發(fā)展勢(shì)頭,通過(guò)過(guò)去八年多的發(fā)展,現(xiàn)在有各種穩(wěn)定的文檔數(shù)據(jù)庫(kù)----從基于亞馬遜和谷歌的云,到各種開(kāi)放源碼工具,尤其是MongoDB。

那么,MongoDB是什么?這里的五件事是每個(gè)開(kāi)發(fā)人員應(yīng)該知道的:

1) MongoDB是一個(gè)獨(dú)立的服務(wù)器;

如MySQL或PostreSQL 一樣,MongoDB提供偵聽(tīng)端口以便接入。它提供了用于查詢,創(chuàng)建,更新和刪除的工具。從理論上講,你使用它的工作方式相同:連接,執(zhí)行任務(wù)并關(guān)閉連接。

2)它是基于文檔的,而不是基于表格的;

MongoDB 沒(méi)有結(jié)構(gòu)化語(yǔ)言。如果你想創(chuàng)建一個(gè)新的文檔類型,你不用做任何事來(lái)告訴數(shù)據(jù)庫(kù)關(guān)于這些數(shù)據(jù)的結(jié)構(gòu),而僅僅是存到數(shù)據(jù)庫(kù)中即可。

簡(jiǎn)單的說(shuō),MongoDB使用類似JavaScript或PHP 的類型處理方式。也就是說(shuō),數(shù)據(jù)庫(kù)是靈活的弱類型。

雖然有一些數(shù)據(jù)是有限制條件的(大塊的數(shù)據(jù)可能需要一些明確的處理),但在大多數(shù)情況下,你可以像寫(xiě)PHP代碼一樣編寫(xiě)你的MongoDB代碼。

3)它是非結(jié)構(gòu)化的;

還記得這些你寫(xiě)的數(shù)據(jù)庫(kù)抽象層嗎?還記得那些你處理過(guò)的ORM層嗎?現(xiàn)在,你可以將它們?nèi)縼G棄。在MongoDB中你不需要他們。MongoDB沒(méi)有很多查詢語(yǔ)句。在大多數(shù)情況下,只需給它一個(gè)數(shù)組指定你想要的信息,然后它會(huì)給你返回文檔的數(shù)組。如果你想運(yùn)行一些非常復(fù)雜的查詢(如Map-Reduce操作),可以向MongoDB傳遞JavaScript,其內(nèi)部的JavaScript引擎可以解析這個(gè)腳本。

4)不必去學(xué)習(xí)另一種查詢語(yǔ)言;

開(kāi)發(fā)時(shí)間也短,因?yàn)闆](méi)有結(jié)構(gòu)需要管理和很少(如果有的話)的數(shù)據(jù)映射。

學(xué)習(xí)曲線很平滑,因?yàn)闆](méi)有新的查詢語(yǔ)言學(xué)習(xí)。代碼是簡(jiǎn)潔的。畢竟,無(wú)須任何其他ORM,封裝可以非常簡(jiǎn)單。你的代碼是未來(lái)的保證。向你的對(duì)象增加更多的字段是很輕松的。因此,需求變化了,你可以很快修改代碼以便適應(yīng)。

MongoDB足以讓我意識(shí)到它有改變游戲規(guī)則的潛力。這也是讓大家主張使用新一代的文檔數(shù)據(jù)庫(kù)代替基于SQL的關(guān)系數(shù)據(jù)庫(kù)的原因。將關(guān)系數(shù)據(jù)庫(kù)留在塵土里,更可能的是讓它們做它們能做好的事情:存儲(chǔ)屬于行和表的數(shù)據(jù)。

MongoDB 是用C++開(kāi)發(fā)的面向文檔的數(shù)據(jù)庫(kù),也就是反傳統(tǒng)的數(shù)據(jù)庫(kù)范式來(lái)設(shè)計(jì)的,把相關(guān)的對(duì)象都記錄到一個(gè)文檔里,每個(gè)文檔內(nèi)是schema-free的,也就是列名可以自由定義,比較靈活,特別是面對(duì)業(yè)務(wù)邏輯多變的應(yīng)用場(chǎng)景十分給力。數(shù)據(jù)以BSON(類似JSON)的格式二進(jìn)制存儲(chǔ)。不好的地方就是可能帶來(lái)一定的數(shù)據(jù)冗余和存儲(chǔ)開(kāi)銷。

另外,MongoDB的索引機(jī)制和MySQL等數(shù)據(jù)庫(kù)是一樣的,可以利用傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)的經(jīng)驗(yàn)來(lái)使用MongoDB的索引。

不像其他很多NoSQL產(chǎn)品由個(gè)別工程師根據(jù)應(yīng)用場(chǎng)景開(kāi)發(fā)出來(lái)的,MongoDB是有一個(gè)專門的公司 10gen 來(lái)維護(hù)。有一點(diǎn)要注意的是,MongoDB自己是不管理內(nèi)存的,無(wú)法指定內(nèi)存大小,完全交給操作系統(tǒng)來(lái)管理,因此有時(shí)候是不可控的,在生產(chǎn)環(huán)境使用必須在OS層面監(jiān)控內(nèi)存使用情況。

5)它具有強(qiáng)大的主流開(kāi)發(fā)語(yǔ)言支持,如C#、C++、Java、PHP、Perl、Python、Ruby。

您可能感興趣的文章:
  • mongodb 數(shù)據(jù)類型(null/字符串/數(shù)字/日期/內(nèi)嵌文檔/數(shù)組等)
  • Mongodb 數(shù)據(jù)類型及Mongoose常用CURD
  • 深入分析Mongodb數(shù)據(jù)的導(dǎo)入導(dǎo)出
  • 基于MongoDB數(shù)據(jù)庫(kù)的數(shù)據(jù)類型和$type操作符詳解

標(biāo)簽:邯鄲 昭通 景德鎮(zhèn) 大理 本溪 鶴崗 丹東 吉安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB數(shù)據(jù)庫(kù)的特色和優(yōu)點(diǎn)介紹》,本文關(guān)鍵詞  MongoDB,數(shù)據(jù)庫(kù),的,特色,和,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MongoDB數(shù)據(jù)庫(kù)的特色和優(yōu)點(diǎn)介紹》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于MongoDB數(shù)據(jù)庫(kù)的特色和優(yōu)點(diǎn)介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    高淳县| 江华| 沙田区| 濮阳市| 彭州市| 沛县| 门源| 巴南区| 冀州市| 辽中县| 华坪县| 乐陵市| 崇文区| 句容市| 宝兴县| 平阳县| 峨眉山市| 潜山县| 定远县| 巴南区| 垫江县| 同仁县| 土默特右旗| 安龙县| 蒲江县| 博兴县| 博罗县| 凤山市| 黔东| 顺平县| 榕江县| 云南省| 玉龙| 邛崃市| 青田县| 福海县| 泾阳县| 临邑县| 汉源县| 崇州市| 永胜县|