a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

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

2020-10-29 18:51:32
字體:
供稿:網(wǎng)友

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

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

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

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

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

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

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

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

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

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

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

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

開發(fā)時間也短,因為沒有結(jié)構(gòu)需要管理和很少(如果有的話)的數(shù)據(jù)映射。

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

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

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

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

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 99久久久久国产精品免费 | 亚洲精品乱码久久久久久蜜桃不卡 | 巨大黑人极品videos精品 | 国产真实精品久久二三区 | 色站综合 | 国产二区精品 | 欧美一区二区在线免费观看 | 色欧美片视频在线观看 | 国产在线一区二区 | 欧美视频一区二区 | 亚洲一区二区精品视频 | 精品在线一区二区 | 全黄大全大色全免费大片 | 成人一区二区三区在线 | 久久久久久久久综合 | 亚洲精品9999| 国产精品永久免费 | 欧美激情综合五月色丁香小说 | 免费av黄色| 久久免费精品视频 | 97精品视频在线 | 欧日韩不卡在线视频 | 国产欧美一区二区精品久久 | 精品国产一区二区三区久久 | 九九免费观看全部免费视频 | 欧美亚洲激情 | 97国产精品视频人人做人人爱 | 丁香久久| 国产欧美一区二区精品性色 | 久久久久成人网 | 色综合一区二区三区 | 少妇久久久 | 一区二区三区四区视频 | 国产91精品在线 | 国产黄色在线免费看 | 国产精品不卡 | 婷婷综合网 | 久久国产精品首页 | 特黄级国产片 | 日韩一及片 | 热久久这里只有精品 |