2013-05-16 分類: 網(wǎng)站建設
MongoDB和MySQL分別是的開源NoSQL和關(guān)系型數(shù)據(jù)庫。哪一個最適合你的應用?
互聯(lián)網(wǎng)泡沫時期,用于Web應用程序的一種通用軟件堆棧是LAMP,它最初代表Linux(OS),Apache(Web服務器),MySQL(關(guān)系數(shù)據(jù)庫)和PHP(服務器編程語言)。MySQL是選的數(shù)據(jù)庫,主要是因為它是免費的開源代碼,并且具有良好的讀取性能,非常適合從數(shù)據(jù)庫動態(tài)生成網(wǎng)站的數(shù)據(jù)映射應用。
之后,代表MongoDB(文檔數(shù)據(jù)庫),Express(Web服務器),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?
什么時候需要為新應用程序使用MySQL這樣的關(guān)系數(shù)據(jù)庫?除了對標準SQL的明顯支持之外,關(guān)系數(shù)據(jù)庫本身還強制數(shù)據(jù)進入具有一致的強類型字段的表格模式,并幫助您避免數(shù)據(jù)重復,只要您利用了標準化。
如果需要避免丟失數(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ù)庫將滿足這些要求。此外,如果您的應用程序是用JavaScript編寫的,那么JSON格式的文檔數(shù)據(jù)庫將是一個自然的選擇。
文章標題:MongoDB和MySQL的區(qū)別,應該怎么選擇?
標題URL:http://redsoil1982.com.cn/news/780.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、品牌網(wǎng)站制作、網(wǎng)站收錄、小程序開發(fā)、動態(tài)網(wǎng)站、軟件開發(fā)
聲明:本網(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)
猜你還喜歡下面的內(nèi)容