NoSQL資料庫在現代應用程式中的作用

2021-08-19 12:19:14 字數 2059 閱讀 5073

資料模型驅動不僅可以建立有效的應用程式,也可以有效地修改以合併新的特性。他們是「real-world」問題的解決和軟體世界模仿現實世界的行為之間的橋梁。(是的,軟體可以創造奇蹟,但如果不是追求更簡單生活沒有人需要這些軟體!)本文論述了nosql資料庫在現代的應用軟體發揮作用。

驅動力

在過去的幾年中,有乙個巨大的轉變則是在應用程式開發平台棧的選擇上。傳統的wamp和lamp被逐步淘汰,而mean、cean等逐漸發揮出優勢。這種轉變是有很多原因的。最根本的原因是對現代web的期望。最近的預期是web應用程式已經不僅僅是侷限於資訊的傳遞。今天我們在web應用程式的互動中,資訊處理和內容分析已成為了非常關鍵的部分。這也常被稱為web 2.0。未來持續增長的智慧型裝置和感測器連線到網際網路,繼續利用越來越多的由應用程式使用者生成的資料來提供智慧型化的增值作用(也稱為web 3.0)。

這種web應用程式轉變的範例中需要豐富的資料。同時,使資料可供消費是同樣重要的,而且不可用資料怎樣阻礙了預期使用者體驗和應用程式的開發成為了另乙個主題!但是,值得一提的是,大多數面向使用者的應用程式都需要從多個資料來源(資料來源)中消費和處理資料。作為乙個極端的例子,乙個旅遊預訂**可能需要依賴於多個航空公司的航班資料和票務,而信用卡處理來自另乙個第三方,行程公布又從另乙個地方…更不要說,他們還可能會導致使用者在社交**上分享他們的預訂經驗,從他們自己的web應用程式中就像乙個使用者的端到端體驗的一部分。

很好,我依然沒有把nosql的作用完全呈現給你。你或許仍然想知道nosql所有的作用。因此,讓我們繼續。不管怎樣,了解如下的變化是非常重要的。今天引導我們開始利用新的解決方案,這些解決方案在大多數情況被創造或者被開發,因為他們不僅非常依賴今天或者僅僅因為今天是可能的(對比指責以前的計算機革命)。

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的選擇。關於這點,沒有錯誤的答案,每個人都可以嘗試去解答!

NoSQL資料庫在現代應用程式中的作用

資料模型驅動不僅可以建立有效的應用程式,也可以有效修改他們的特性。他們是 real world 問題的解決和軟體世界模仿現實世界的行為之間的橋梁。是的,軟體可以創造奇蹟,但如果不是追求更簡單生活沒有人需要這些軟體!本文論述了nosql資料庫在現代的應用軟體發揮作用。驅動力 在過去的幾年中,有乙個巨大...

應用程式現代化

本篇文章版權由 ecf和 hp所有 john dodge,ecf社群經理 應用程式現代化是大多數cio頭腦中最關注的,但實施的節奏及其優先性取決於幾個不同的因素。換言之,應用程式現代化很重要,但根據三位cio 他們同時也是enterprise cio forum ecf council 成員 的看法...

C 開發資料庫應用程式

簡單性 靈活性 而且,visual c 提供的開發環境可以使開發者根據自己的需要設計應用順序的介面和功能。visual c 提供了豐富的類庫和方法,可以使開發者根據自己的應用特點進行選擇。訪問速度快 visual c 提供了新的訪問技術 ole db 和 ado ole db 和 ado 都是基於 ...