自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

NoSQL數(shù)據(jù)庫在現(xiàn)代應(yīng)用程序中的作用

數(shù)據(jù)庫 其他數(shù)據(jù)庫
數(shù)據(jù)模型驅(qū)動不僅可以建立有效的應(yīng)用程序,也可以有效地修改以合并新的特性。他們是“real-world”問題的解決和軟件世界模仿現(xiàn)實世界的行為之間的橋梁。本文論述了NoSQL數(shù)據(jù)庫在現(xiàn)代的應(yīng)用軟件發(fā)揮作用。

數(shù)據(jù)模型驅(qū)動不僅可以建立有效的應(yīng)用程序,也可以有效地修改以合并新的特性。他們是“real-world”問題的解決和軟件世界模仿現(xiàn)實世界的行為之間的橋梁。(是的,軟件可以創(chuàng)造奇跡,但如果不是追求更簡單生活沒有人需要這些軟件!)本文論述了NoSQL數(shù)據(jù)庫在現(xiàn)代的應(yīng)用軟件發(fā)揮作用。

驅(qū)動力

在過去的幾年中,有一個巨大的轉(zhuǎn)變則是在應(yīng)用程序開發(fā)平臺棧的選擇上。傳統(tǒng)的WAMP和LAMP被逐步淘汰,而MEAN、CEAN等逐漸發(fā)揮出優(yōu)勢。這種轉(zhuǎn)變是有很多原因的。最根本的原因是對現(xiàn)代Web的期望。最近的預(yù)期是Web應(yīng)用程序已經(jīng)不僅僅是局限于信息的傳遞。今天我們在Web應(yīng)用程序的交互中,信息處理和內(nèi)容分析已成為了非常關(guān)鍵的部分。這也常被稱為Web 2.0。未來持續(xù)增長的智能設(shè)備和傳感器連接到互聯(lián)網(wǎng),繼續(xù)利用越來越多的由應(yīng)用程序用戶生成的數(shù)據(jù)來提供智能化的增值作用(也稱為Web 3.0)。

這種Web應(yīng)用程序轉(zhuǎn)變的范例中需要豐富的數(shù)據(jù)。同時,使數(shù)據(jù)可供消費是同樣重要的,而且不可用數(shù)據(jù)怎樣阻礙了預(yù)期用戶體驗和應(yīng)用程序的開發(fā)成為了另一個主題!但是,值得一提的是,大多數(shù)面向用戶的應(yīng)用程序都需要從多個數(shù)據(jù)源(數(shù)據(jù)源)中消費和處理數(shù)據(jù)。作為一個極端的例子,一個旅游預(yù)訂網(wǎng)站可能需要依賴于多個航空公司的航班數(shù)據(jù)和票務(wù),而信用卡處理來自另一個第三方,行程公布又從另一個地方…更不要說,他們還可能會導(dǎo)致用戶在社交媒體上分享他們的預(yù)訂經(jīng)驗,從他們自己的Web應(yīng)用程序中就像一個用戶的端到端體驗的一部分。

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

NoSQL允許復(fù)雜的結(jié)構(gòu)

SQL數(shù)據(jù)庫是結(jié)構(gòu)化的。但是,在處理應(yīng)用程序需求時,由于字段范圍、外鍵關(guān)系、規(guī)范化技術(shù)等,他們會導(dǎo)致某種程度的缺陷。例如,一個客戶訂單對象往往是分成表頭和詳細類型的標準化表的結(jié)構(gòu)。NoSQL,另一方面不僅可以處理在一個單一結(jié)構(gòu)中的表頭和細節(jié)。所以,盡管數(shù)據(jù)模型的結(jié)構(gòu)可能是復(fù)雜的,它支持建立接近一個 “真實世界”的實體。當然,,這種能力的成本是把數(shù)據(jù)完整性管理推到了程序應(yīng)用層。

NoSQL與基于REST架構(gòu)

如果您使用Web服務(wù)或API,碰巧你的API默認為JSON響應(yīng)(如果不是,你應(yīng)該嘗試)。NoSQL數(shù)據(jù)庫,如MongoDB和CouchDB是按JSON格式的存儲數(shù)據(jù)(稱為文檔)。這使編碼API響應(yīng)比接收數(shù)組容易得多。采用更高等級的API導(dǎo)致高度集成的應(yīng)用程序,NoSQL數(shù)據(jù)庫很適合在存儲方面,提供和消費信息。

NoSQL帶來可伸縮性

NoSQL數(shù)據(jù)庫設(shè)計的思想是拆分為多節(jié)點數(shù)據(jù)庫,從而提供了極大的可伸縮性特性。例如,MongoDB目前可以擴展到超過100個節(jié)點,這些節(jié)點可以分布在不同的數(shù)據(jù)中心或地方。許多NoSQL數(shù)據(jù)庫也已經(jīng)開始支持多個節(jié)點數(shù)據(jù)分區(qū),有助于選擇規(guī)模更大的數(shù)據(jù)集的計算資源,同時也減少了不必要的復(fù)制,從而減少數(shù)據(jù)重復(fù)可伸縮性的成本。

因此,SQL還是NoSQL?

[[218224]]

這取決于應(yīng)用程序和特定場景。不,這是真實的,因為有許多因素,如:

1. 開發(fā)工具和技術(shù)可能不支持NoSQL的;

2. ***供應(yīng)商(***戰(zhàn)略伙伴關(guān)系等許多原因)在您的公司中可能仍然是一個傳統(tǒng)的SQL數(shù)據(jù)庫;

3. ***的數(shù)據(jù)庫供應(yīng)商可能會提供一些在傳統(tǒng)的數(shù)據(jù)庫中有NoSQL-like的特性,可以滿足當前應(yīng)用程序的需求;

4. 數(shù)據(jù)模型可能是這樣的,選擇真的沒有什么區(qū)別;

5. 你支持開源代碼(從一個企業(yè)支持的觀點);

6. 你的同事(開發(fā)人員、測試人員等)可能還不熟練。

因此,為您的應(yīng)用程序選擇什么樣的數(shù)據(jù)庫是一個架構(gòu)層面的決定。因此,這篇文章絕不是來影響你選擇傾向的,但是它能提高了人們對NoSQL被廣泛接受的意識和突出NoSQL在現(xiàn)代應(yīng)用程序中所起的作用。

結(jié)論

重要的是要了解如今的網(wǎng)絡(luò)應(yīng)用程序,如何適應(yīng)現(xiàn)代技術(shù)的期望。用需求、路線圖和來自用戶的期望(特別是直接用戶交互)來平衡NoSQL的趨勢是非常重要的。

 

***,記住–需要驅(qū)動數(shù)據(jù)模型和數(shù)據(jù)模型驅(qū)動來自于SQL或NoSQL的選擇。關(guān)于這點,沒有錯誤的答案,每個人都可以嘗試去解答! 

責任編輯:龐桂玉 來源: ITPUB
相關(guān)推薦

2023-12-29 22:39:25

Golang應(yīng)用程序數(shù)據(jù)庫

2023-11-06 08:22:34

AIDLAndroid通信

2010-08-12 21:06:00

數(shù)據(jù)庫應(yīng)用程序數(shù)據(jù)庫安全

2010-08-12 21:13:49

數(shù)據(jù)庫安全應(yīng)用程序安全

2020-05-03 12:57:32

數(shù)據(jù)庫DIY管道

2023-04-09 14:58:05

DevOps開發(fā)

2011-03-30 11:15:35

SQL Server數(shù)應(yīng)用程序

2022-05-10 08:00:00

數(shù)據(jù)庫數(shù)據(jù)庫監(jiān)控監(jiān)控系統(tǒng)

2021-02-23 23:06:31

數(shù)據(jù)庫Redis技術(shù)

2010-07-14 13:14:01

SQL Server數(shù)

2023-05-24 23:34:11

2014-07-30 10:29:13

大數(shù)據(jù)NoSQL

2022-10-24 14:21:09

數(shù)據(jù)庫應(yīng)用數(shù)據(jù)庫數(shù)據(jù)管理

2014-03-20 14:02:17

大數(shù)據(jù)

2013-02-27 10:23:55

NoSQL數(shù)據(jù)庫

2015-10-22 15:09:12

NoSQL數(shù)據(jù)庫應(yīng)用場景

2009-07-28 17:49:44

ASP.NET數(shù)據(jù)庫連

2020-09-23 10:59:37

應(yīng)用安全

2024-02-02 10:51:53

2022-05-14 23:51:31

云計算安全混合云
點贊
收藏

51CTO技術(shù)棧公眾號