MongoDB和MySQL的區(qū)別,應(yīng)該怎么選擇?

2013-05-16    分類: 網(wǎng)站建設(shè)

MongoDB和MySQL分別是的開源NoSQL和關(guān)系型數(shù)據(jù)庫。哪一個最適合你的應(yīng)用?

互聯(lián)網(wǎng)泡沫時期,用于Web應(yīng)用程序的一種通用軟件堆棧是LAMP,它最初代表Linux(OS),Apache(Web服務(wù)器),MySQL(關(guān)系數(shù)據(jù)庫)和PHP(服務(wù)器編程語言)。MySQL是選的數(shù)據(jù)庫,主要是因為它是免費的開源代碼,并且具有良好的讀取性能,非常適合從數(shù)據(jù)庫動態(tài)生成網(wǎng)站的數(shù)據(jù)映射應(yīng)用。

之后,代表MongoDB(文檔數(shù)據(jù)庫),Express(Web服務(wù)器),AngularJS(前端框架)和Node.js(后端JavaScript運行時)的MEAN堆棧開始流行。除其他因素外,MEAN堆棧很有吸引力,因為您需要了解的唯一語言是JavaScript。與等效的LAMP堆棧相比,它還需要更少的RAM。

LAMP是傳統(tǒng)Web開發(fā)堆棧,是Linux Apache MySQL和PHP/Python的簡稱,而MEAN是MongoDB、ExpressJS,AngularJS和Node.js。

SQL還是NoSQL?

什么時候需要為新應(yīng)用程序使用MySQL這樣的關(guān)系數(shù)據(jù)庫?除了對標準SQL的明顯支持之外,關(guān)系數(shù)據(jù)庫本身還強制數(shù)據(jù)進入具有一致的強類型字段的表格模式,并幫助您避免數(shù)據(jù)重復(fù),只要您利用了標準化。

如果需要避免丟失數(shù)據(jù),可以在創(chuàng)建或修改表時將字段聲明為NOTNULL。如果您需要由開放地理空間聯(lián)盟定義的地理查詢,大多數(shù)關(guān)系數(shù)據(jù)庫都提供了健壯的實現(xiàn)。如果需要全文搜索,大多數(shù)關(guān)系數(shù)據(jù)庫允許在文本字段上定義反向列表索引,在MySQL中稱為全文索引。

另一方面,如果您偶爾需要自由格式的文檔,MySQL和許多其他關(guān)系數(shù)據(jù)庫也支持RFC 7159定義的JSON數(shù)據(jù)。如果還希望使用XML文檔和XPath或XSLT,大多數(shù)關(guān)系數(shù)據(jù)庫都提供了這種功能。

什么時候需要像MongoDB這樣的文檔數(shù)據(jù)庫?如果您的主要用例需要允許自由格式的數(shù)據(jù)、在文檔之間更改類型的字段、隨時間變化的模式或嵌套的文檔,那么NoSQL數(shù)據(jù)庫將滿足這些要求。此外,如果您的應(yīng)用程序是用JavaScript編寫的,那么JSON格式的文檔數(shù)據(jù)庫將是一個自然的選擇。

網(wǎng)頁題目:MongoDB和MySQL的區(qū)別,應(yīng)該怎么選擇?
文章出自:http://muchs.cn/news30/780.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、軟件開發(fā)、面包屑導(dǎo)航手機網(wǎng)站建設(shè)、動態(tài)網(wǎng)站建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營

網(wǎng)站建設(shè)知識