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

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

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

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

之后,代表MongoDB(文檔數(shù)據(jù)庫),Express(Web服務(wù)器),AngularJS(前端框架)和Node.js(后端JavaScript運(yùn)行時(shí))的MEAN堆棧開始流行。除其他因素外,MEAN堆棧很有吸引力,因?yàn)槟枰私獾奈ㄒ徽Z言是JavaScript。與等效的LAMP堆棧相比,它還需要更少的RAM。

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

SQL還是NoSQL?

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

如果需要避免丟失數(shù)據(jù),可以在創(chuàng)建或修改表時(shí)將字段聲明為NOTNULL。如果您需要由開放地理空間聯(lián)盟定義的地理查詢,大多數(shù)關(guān)系數(shù)據(jù)庫都提供了健壯的實(shí)現(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ù)庫都提供了這種功能。

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

文章標(biāo)題:MongoDB和MySQL的區(qū)別,應(yīng)該怎么選擇?
標(biāo)題URL:http://muchs.cn/news/780.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、品牌網(wǎng)站制作、網(wǎng)站收錄、小程序開發(fā)動態(tài)網(wǎng)站、軟件開發(fā)

廣告

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

外貿(mào)網(wǎng)站建設(shè)