日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 充電吧
[導(dǎo)讀]選擇 NoSQL 數(shù)據(jù)庫需要考慮的 10 個問題

那我為什么要寫這個?

原因很簡單——幾年前,我見證了設(shè)計一個為遙測事件提供模式管理設(shè)施的系統(tǒng)。事實證明,這比最初計劃的要昂貴得多。為什么呢?因為選擇了錯誤的數(shù)據(jù)庫解決方案。

這個系統(tǒng)的一個要求是確保模式編輯是一致的,并且模式的最新版本被顯示給每個模式編輯器。它還應(yīng)該支持并發(fā)編輯。

此外,同時訪問這個系統(tǒng)的用戶數(shù)量永遠不會超過幾百個。存儲的數(shù)據(jù)量不會是Tb級——最多幾百Gb。

因此,如果我們考慮了CAP定理的權(quán)衡,那么選擇應(yīng)該是顯而易見的——使用RDBMS。這樣做的好處是支持系統(tǒng)的一致性和事務(wù)支持需求。

相反,選擇了NoSQL數(shù)據(jù)庫(Azure表存儲)來進行原型設(shè)計。這一選擇的官方原因是,它使原型設(shè)計更快,并提供了更大的靈活性,同時更新了單個遙測事件的模式。與Azure SQL相比,Azure表存儲的低成本被認為是另一個原因。

?

快進5個月……

該系統(tǒng)開始經(jīng)歷許多關(guān)于維護CRUD操作完整性的問題。設(shè)計用來處理事務(wù)的瘦應(yīng)用程序邏輯層已經(jīng)不再那么薄了。升級和向后兼容性的故事開始變得更加復(fù)雜。

由于受到許多其他問題的困擾,工程師們又回到了繪圖板——這次是用Azure SQL替換存儲層!我不記得具體的細節(jié),但是這個改變增加了大約40%的額外時間和成本。

管理層很不高興,這個項目幾乎被砍掉了。但是團隊的工程師們非常優(yōu)秀,他們能夠完成這個項目,盡管有了一些延遲和最初的錯誤的技術(shù)決定。

這個項目有一個圓滿的結(jié)局——但它也可能不是這樣的。事實上,很多內(nèi)部項目都被關(guān)閉了,因為他們不能在承諾的日期范圍內(nèi)交付承諾的功能。

那么,您如何知道NoSQL解決方案適合您的下一個軟件項目呢?首先問問你自己和你的團隊這十個問題:

#1:您是否準備好接受開發(fā)人員/系統(tǒng)管理員的培訓(xùn)成本?

如果你是一家成熟的IT軟件開發(fā)公司,那么你很有可能已經(jīng)有了熟悉SQL的人。這個組不僅包括開發(fā)人員,還包括數(shù)據(jù)庫管理員(DBA)。

除非您打算為新的NoSQL項目進行招聘,否則將會有對現(xiàn)有開發(fā)人員和DBA的培訓(xùn)成本。額外的培訓(xùn)也可能會延長項目交付日期。

一種簡單的思考方式是:

  • 計算您的團隊成員(開發(fā)人員和DBA)擁有關(guān)系數(shù)據(jù)庫技術(shù)的總年數(shù)。

  • 計算出通過培訓(xùn)或新招聘獲得經(jīng)驗相同NoSQL經(jīng)驗?zāi)陻?shù)的成本。

  • 最后,弄清楚你從這個成本中得到了什么。你的投資回報率?

在這個特定的項目中,這個團隊的開發(fā)人員以前都沒有NoSQL經(jīng)驗,但是有大量的SQL Server經(jīng)驗。使用NoSQL解決方案在培訓(xùn)中增加了大約1個sprint,當然,這也是由于缺乏經(jīng)驗和設(shè)計上的失誤。

#2:您的數(shù)據(jù)事務(wù)是基于什么?或者,您需要什么級別的事務(wù)支持?

如果您的系統(tǒng)需要ACID屬性,那么您最好還是堅持使用RDBMS解決方案。否則,您將花費大量的時間試圖在您的應(yīng)用程序/業(yè)務(wù)邏輯層復(fù)制ACID保證,并且您可能仍然沒有RDBMS解決方案那么高效。

#3: 您需要Web/高可伸縮性嗎?

總是在先計算出您需要什么樣的可伸縮性。在這個特殊的例子中,我們正在為微軟內(nèi)部游戲工作室構(gòu)建系統(tǒng)。

  • 有10到15個游戲工作室正在考慮中——這取決于有多少注冊用戶使用這個系統(tǒng)

  • 每個工作室最多有3-5個活躍的游戲標題。

  • 每個游戲標題為三個環(huán)境存儲遙測模式——開發(fā)、預(yù)生產(chǎn)(PPE)和生產(chǎn)

  • 對于每個標題,將會有2-5個數(shù)據(jù)科學家同時修改游戲標題數(shù)據(jù)

  • 每一個標題事件都有大約50 KB的max事件數(shù)據(jù)

  • 我們被要求存儲所有的版本——我們估計這個數(shù)字是1000除以一個標題的生命周期

有了以上粗略的估計,我們就可以計算并發(fā)性和存儲需求:

總并發(fā)數(shù) = 工作室數(shù)量 * 標題數(shù)量每工作室 * 用戶數(shù)量每標題

=? 15 * 5 * 5 =?375 并發(fā)用戶

最大存儲 =??工作室數(shù)量 * 標題數(shù)量每工作室 * 環(huán)境數(shù)量 * 事件存儲大小每版本* 需要存儲的版本數(shù)

= 15 * 5 * 3 * 50 KB * 1000 = 11250000 KB =?11.25 GB最大存儲

SQL Azure支持1024個并發(fā)打開連接,并且能夠很容易地支持并發(fā)需求。另外,在考慮云計算時,11.25 GB實際上是一個非常小的數(shù)字。

這個系統(tǒng)并不是下一個FaceBook或必應(yīng)——那么NoSQL的路線真的值得嗎?

#4:NoSQL解決方案真的能幫你省錢嗎?

在紙面上,Azure表存儲是一種更便宜的選擇,因為它的每Gb數(shù)據(jù)僅為美分,而SQL Azure則在此期間收取大約5美元的數(shù)據(jù)。

但是因為我們系統(tǒng)的存儲空間不會超過12 GB——這真的很重要嗎?每月60美元是我們在同一個系統(tǒng)上花30分鐘寫代碼的錢。

因此,在決定使用NoSQL僅僅是因為它的單位成本更低之前,先弄清楚節(jié)省下來的錢是否占了預(yù)算的很大一部分。

#5:你需要吸引風險投資嗎?

有趣的是,硅谷對NoSQL有偏見。這是因為感覺上NoSQL被認為具有內(nèi)在的可伸縮性,并且RDBMS被認為是不可伸縮的。記住,關(guān)鍵字是“感覺上”!

這種可擴展性的感覺可能會讓投資者相信,你的軟件正處于正確的軌道上,準備好接受大規(guī)模的采用,從而吸引他們的投資資金。

許多NoSQL公司本身就是風投公司,這也給他們帶來了積極的偏見。

最后,圍繞“NoSQL”的所有營銷活動都有助于推動投資者對你的產(chǎn)品的正面情緒。

#6:你是在雇傭創(chuàng)業(yè)精神的人嗎?

如果你打算雇傭創(chuàng)業(yè)精神的人,他們中的很多人可能已經(jīng)有NoSQL的知識了。

然而,如果你不在一個主要的科技中心,那么獲得這些人才的機會就很少了。您所在的區(qū)域可能有一個現(xiàn)成的RDBMS開發(fā)人員池——試圖在這樣的區(qū)域中招募NoSQL工程師和DBA可能會延遲項目交付日期,并且由于供應(yīng)需求曲線,也會花費您更多的錢。

我的建議是與你的招聘機構(gòu)/人力資源部門合作,對開發(fā)者進行市場調(diào)查,并將其納入你的技術(shù)選擇中。

#7:你的客戶在下游使用什么技術(shù)?

考慮這樣一個場景:您向客戶交付分析數(shù)據(jù)。您正在使用NoSQL來存儲分析數(shù)據(jù)。然而,您的一個客戶決定堅持使用基于SQL的報告系統(tǒng)。

這對你來說意味著什么?

這意味著您現(xiàn)在需要將所有NoSQL數(shù)據(jù)轉(zhuǎn)換為SQL格式,并通過Azure數(shù)據(jù)工廠等服務(wù)將其向下推到客戶的SQL數(shù)據(jù)庫。這是您需要承擔額外的開發(fā)和運營成本。如果您的所有下游客戶都在使用SQL,那么您需要認真地考慮是否使用NoSQL和做所有這些昂貴的數(shù)據(jù)轉(zhuǎn)換對您的系統(tǒng)有意義嗎?

#8:對于你的產(chǎn)品,可用性是否勝過一致性?

如果你正在建立一個像Facebook newsfeed這樣的系統(tǒng),你可能會希望這個系統(tǒng)是高可用性的,并且是最終一致。

另一方面,如果您正在構(gòu)建一個銀行系統(tǒng)(或者像我們的案例那樣的模式存儲),您可能希望支持強一致性,并放棄高可用性。

無論采用哪種方式,您都應(yīng)該首先考慮CAP定理的含義,然后決定您的系統(tǒng)是否需要SQL或NoSQL解決方案。

#9:您是否預(yù)期對數(shù)據(jù)庫模式進行大量更改?

如果您期望對數(shù)據(jù)庫模式進行大量更改,就像移動應(yīng)用程序、實時分析、內(nèi)容管理系統(tǒng)等經(jīng)常發(fā)生的情況一樣,那么NoSQL解決方案可能就是一種方法。

您可以使用一個分區(qū)方案,它允許您以一種比大多數(shù)SQL數(shù)據(jù)庫允許的更方便的方式更新您的數(shù)據(jù)庫模式。

#10:你想用NoSQL來獲得個人的充實/滿足嗎?

請不要這樣做!

我曾見過一些人,他們只是迷戀于學習一個NoSQL系統(tǒng),并將其放入他們的簡歷中。這并沒有什么錯——我對NoSQL技術(shù)也很著迷。

但是,請不要讓這成為選擇技術(shù)堆棧背后的驅(qū)動因素(有意識的或下意識的)。如果你愿意的話,你可以在自己的時間里學習。

誰贏得了數(shù)據(jù)庫戰(zhàn)爭?

坦率地說 – 沒有哪個玩家能贏者通吃!

在很多情況下,您可能需要SQL和NoSQL技術(shù)在同一系統(tǒng)中并存。 例如,如果您正在構(gòu)建像Instagram這樣的照片共享應(yīng)用程序,則您的照片可能位于NoSQL數(shù)據(jù)庫中,而您的登錄/ ACL信息可能位于SQL數(shù)據(jù)庫中。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉