論述NoSQL在現代的應用軟件發揮了什么作用
大小:0.6 MB 人氣: 2017-10-11 需要積分:1
標簽:
數據模型驅動不僅可以建立有效的應用程序,也可以有效修改他們的特性。他們是“real-world”問題的解決和軟件世界模仿現實世界的行為之間的橋梁。(是的,軟件可以創造奇跡,但如果不是追求更簡單生活沒有人需要這些軟件!)本文論述了NoSQL數據庫在現代的應用軟件發揮作用。驅動力
在過去的幾年中,在棧的應用程序開發平臺的選擇上有一個巨大的轉變。傳統的WAMP和LAMP堆棧被逐步被淘汰,像MEAN、CEAN等。這種轉變是有很多原因的 。最根本的原因,我相信是對現代Web的期望。最近的預期是從Web應用程序已經不僅僅是局限于信息的傳遞。今天我們在web應用程序的交互中, 信息處理和內容分析已成為了非常關鍵的部分。這也常被稱為Web 2.0。未來預期增長的智能設備和傳感器連接到互聯網,繼續利用越來越多的數據生成的應用程序用戶提供智能化的增值作用(也稱為Web 3.0)。
這種轉變在Web應用程序范例中需要豐富的數據。同時,使數據可供消費是同樣重要的,和到底是多么不可用數據阻礙了預期的用戶體驗和應用程序的開發是另一個主題!但是,值得一提的是,大多數面向用戶的應用程序都需要從多個數據源(數據源)中消耗和處理數據。作為一個極端的例子,一個旅游預訂網站可能需要依賴于多個航空公司的航班數據和票務,信用卡處理來自另一個第三方,行程出版從另一個地方…更不要說,他們還可能會導致用戶在社交媒體上分享他們的預訂經驗,從他們自己的網絡應用程序,只是作為用戶的終端到終端的經驗的一部分。
NoSQL允許復雜的結構
SQL數據庫的結構。在處理應用程序需求時,他們也會導致某種程度的剛性由于關鍵字段、外鍵關系、規范化技術等。例如,一個客戶訂單對象往往是分成頭和細節類型的標準化表結構。NoSQL,另一方面,可以處理在一個單一的結構標題和細節。因此,盡管數據模型的結構可能是復雜的,它允許建立他們接近會像一個“真實世界”的實體。當然,這種能力的成本是數據完整性管理被推到了程序應用層。
NoSQL與基于rest架構
如果您使用Web服務或API,,那么你API的默認為JSON響應。NoSQL數據庫,如MongoDB和CouchDB的JSON格式的存儲數據(稱為文檔)。這使編碼API響應接收他們的陣列比較容易得多。與更高的API主要采用高度集成的應用程序,,NoSQL數據庫很適合在存儲方面,提供和消費信息。
NoSQL帶來的可伸縮性
NoSQL數據庫進行多節點數據庫設計,從而提供了極大的可伸縮性功能。例如,MongoDB目前可以擴展到超過100個節點分布在不同的數據中心或位置。許多NoSQL數據庫也已經開始支持多個節點數據分區,有助于選擇規模更大的數據集的計算資源,同時也減少了不必要的復制,從而減少數據重復的可伸縮性。
因此,SQL還是NoSQL?
這取決于應用程序和用例。不,這是真實的,因為有許多因素,如:
開發工具和技術可能不支持NoSQL的;首選供應商(首選戰略伙伴關系等許多原因)在您的組織中可能仍然是一個傳統的SQL數據庫;首選的數據庫供應商可能會提供一些NoSQL-like功能在傳統的數據庫,可以滿足當前應用程序的需求;數據模型可能是這樣的,真的沒有什么區別的選擇;你支持開源代碼(從一個企業支持的觀點);你的人(開發人員、測試人員等)可能還不熟練。
因此,這是一個根據您的應用程序架構決策選擇什么樣數據庫所需要使用。有時候,被尖端的“僅僅是因為”,可能是一件昂貴的事情。所以,絕不是本文的意圖來影響你的選擇,但是提高了人們對這個“新”被廣泛接受的選項(NoSQL)和突出NoSQL在現代應用程序中所起的作用。
結論
重要的是要了解如今的網絡應用程序,如何適應現代技術的期望。平衡NoSQL的潮流需求、路線圖和來自用戶的期望這些方面都是非常重要的。最后,記住–需求驅動數據模型和數據模型驅動來自于SQL或NoSQL的選擇。這是沒有錯誤的答案每個人都可以嘗試去實現!
?
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%