NoSQL調查Part1:NoSQL可能無法兌現承諾的五種情況
前言
很多最終成為Volt Active Data客戶的公司都是從用NoSQL資料庫取代傳統的RDBMS平臺開始的。鑑於傳統的資料庫技術性能差,缺乏雲端計算的友好性,以及高昂的成本,放棄它的決定是毋庸置疑的。不幸的是,NoSQL通常只是用其他型別的問題取代了基於傳統的問題。
雖然傳統的RDBMS技術很不方便,但它幾乎可以做任何你想要的事情,儘管很糟糕。很多NoSQL平臺一開始是作為鍵值儲存或快取,當你要求它們走出 "舒適區 "時,它們就會失效(有時是災難性的)。
供應商一直在向NoSQL系統新增我們與傳統關係型資料庫系統相關的功能,但不幸的是,沒有 "神奇的軟體仙女 "可以揮舞魔杖,讓複雜的新功能在NoSQL平臺上執行而不產生負面影響。
而當公司遇到以下一個或多個方面的嚴重挑戰時,便會選擇Volt Active Data(以下簡稱VOLT):
1、 規模化交易
ACID事務是在規模上最難搞好的事情之一。問題不在於系統如何處理為一個使用者修改三樣東西的單一事務。而是如何處理每秒鐘5萬個這樣的事務,不同的屬性以不同的順序被改變。
當多個人同時改變相同的資料項時,事情就變得很糟糕。像樂觀鎖這樣的技術在這種情況下會崩潰。在現實世界中,我們會看到這種情況,即使是在理論上不應該發生多個同時訪問的用例。
另一件需要注意的事情是,當叢集中的一個節點在忙碌時發生故障,交易狀態會發生什麼。你會不會最後只提交了一半的事務?
2、複雜資料結構
大多數NoSQL系統假設你的資料可以被對映成鍵和值。開發人員絕對喜歡這一點,因為他們不再有討厭的DBA看管他們。但是,隨著新的用例被新增到系統中,資料結構變得更加複雜,並且變得更難在不同的開發者團隊之間共享。這就是為什麼SQL變得成功的原因,因為它允許你瀏覽資料結構,而不必擔心資料的實際儲存方式的細枝末節。很多供應商現在都在他們的產品上附加了SQL層,但你需要非常仔細地評估它們,因為這些層對你的開發人員在儲存資料時的組織程度做出了假設。
3、 聚合操作
傳統的資料庫擅長的問題是 "給我看看我們已經運送了價值超過1萬美元的產品的客戶,但他們只支付了8000美元或更少"。在缺乏內建支援的產品中,這些彙總問題可能非常難做。在你需要得到一個完全準確的答案的情況下,你可能會面臨重大挑戰。
4、 跨地域複製
無論是為了業務連續性還是持續的低延遲,你可能會發現自己面臨一個要求,即資料庫的實時副本要同時在多個地點。對於任何資料庫產品來說,這都是一件非常複雜的事情,而且在應用或底層資料平臺上的改造也是出了名的困難。
5、 外來鍵訪問
隨著資料模型變得越來越複雜,你需要在不知道它的 "官方 "鍵的情況下訪問一個值的可能性變得非常非常高。並非所有的供應商在這裡都有一個好的故事或答案。
總結
本文的目的不是要質疑NoSQL平臺的效用或有效性。當它們被用於它們所設計的用途時,它們是非常出色的。但是,當你試圖超越這一點時,你往往終會面臨問題。
雖然許多NoSQL供應商正在努力解決我們上面強調的問題,但我們不應該認為他們的修復措施會比傳統的RDBMS更好,也不應該認為他們的修復措施不會帶來負面的影響。
為了真正解決上述所有問題,同時保持資料的一致性和準確性,你需要一個能夠大規模管理複雜的快速資料的資料平臺,而不會出現停機、資料丟失、安全丟失或收入丟失的後果。要找到這樣的資料平臺並不容易,Volt Active Data或許是一個不錯的選擇。
如果您希望整合VOLT到您的技術棧中,請與我們聯絡!