5G時代,為什麼NoSQL和SQL存在短板?

01 介紹

當今的通訊服務提供商(CSP)需要能夠在處理海量複雜的數據的同時,不會下降或者減慢網路響應速度和可靠性。5G時代,設備和用戶數量呈指數級增長,這對業務支援服務(BSS)提出了新需求,也成為了一項特別艱巨的任務。
正如您目前所看到的現實情況,電信網路策略響應,個性化報價或防止欺詐交易等應用程式,必須能夠在幾毫秒內對數據事件做出反應,才能增加營收或防止虧損。
為了更好地滿足這些日益複雜的需求,CSP需要知道如何在日益擁擠的資料庫環境中進行最佳地數據管理,而且這類場景似乎每年都會出現新的類別。最新類別則是NewSQL,它為NoSQL和SQL資料庫無法提供的電信公司提供了獨特優勢,尤其是在實時數據處理方面。當今的資料庫需要遍歷整個數據從獲取到執行的整個生命周期,且必須在10毫秒或更短的時間完成。環顧四周,目前只有NewSQL數據平台才能實現這一目的。
本文闡述了SQL,NoSQL和NewSQL資料庫之間的主要區別,並解釋了為什麼NewSQL資料庫是電信行業順應時代發展的關鍵,以及在5G時代,CSP如何充分利用各種資料庫技術對其網路進行高效運維管理。

02 NewSQL緣起

NewSQL是451 Group的分析師Matt Aslett創造的一個術語,用來描述一組新的資料庫特性,這些特性既繼承了傳統SQL關係資料庫的許多功能,同時也提供NoSQL技術的某些優勢。
NewSQL系統為現實提供了兩全其美的方案:關係數據模型和傳統資料庫的ACID事務一致性;繼承SQL的交互便利性以及NoSQL的可擴展性和速度。有些系統提供了比NoSQL解決方案更強的一致性保證,儘管有人認為「可調」的一致性是偽一致性,但也並不完全符合ACID。
當然,NewSQL解決方案之間也存在差異。SAP HANA可以處理少量的事務性工作負載,但是沒有本地集群的優勢。NuoDB是一個群集優先的SQL資料庫,專註於雲部署,但是吞吐量很差。MemSQL對於集群分析很有用,但是其可調整的一致性並非嚴格意義上的ACID事務。NuoDB和MemSQL都具有計算和存儲分離的特點,因此它們可能會遇到數據傳輸和同步(尤其是圍繞事務的同步)的問題。
ACID 原則
大多數關係資料庫都遵循ACID(原子性、一致性、隔離性和持久性)原則,而大多數NoSQL資料庫是BASE(基本可用、軟狀態、最終一致性)原則。
NewSQL資料庫,如VoltDB,為聯機事務處理(OLTP)工作提供了NoSQL系統的可擴展性,同時遵從了傳統資料庫系統的ACID保證。

03 電信業場景下的NewSQL與NoSQL

既然我們已經注意到了SQL、NoSQL和NewSQL的基本區別,以及他們各自的優缺點。接下來,就讓我們深入了解下,電信業運營商和開發人員真正關心NoSQL和NewSQL的哪些特性,他們可以使用NoSQL解決哪些問題?

  • 我可以使用NoSQL解決哪些問題?
  • NoSQL在哪裡使用不合適?
  • 如何利用NoSQL和NewSQL的優勢?

我們不懷疑NoSQL資料庫非常契合許多工作場景,但是在某些特定場景下,NoSQL技術可能並不是能選擇的最佳的解決方案。
下一節會對比NewSQL和NoSQL在電信業數據管理的4個關鍵考量指標:可擴展性,可用性,數據一致性以及快速響應。

3.1 可擴展性

NoSQL
隨著5G蓬勃發展以及通訊設備的迅速增長,電信業企業需要升級擴展其現有的數據管理方式。
最初NoSQL因為在互聯網行業中類似Google,Facebook和Twitter廣泛採用,以解決他們海量規模化數據管理時,才開始引起人們的注意。這些平台處理大量非結構化數據流入:Web搜索、移動設備、用戶狀態更新、資訊流等。
在這些場景中,最重要的考量因素是可擴展性。資料庫必須大規模快速地擴展。關係模式和擴展傳統SQL資料庫無法應對海量數據增長和處理,在傳統SQL資料庫維護海量數據和多樣化查詢處理請求的成本和效率是很難接受的。
NoSQL系統最重要的特性是能夠在通用的硬體設備上擴展應用程式的能力。對於需要水平無限制擴展的需求場景,NoSQL可能是正確的選擇,NewSQL和NoSQL在擴展性上並沒有太大區別。
但是,NoSQL資料庫為了擴展性而在幾乎所有其它方面折衷,這對於僅依靠NoSQL的電信業公司來說有很大問題。

NewSQL
儘管NoSQL關係資料庫系統提供了可擴展性選項,但通常這一成本很高。NewSQL系統也在致力於應對系統擴展性的挑戰,同時它繼承了傳統RDBMS的事務性和SQL標準。
在典型場景中,記憶體中的大規模並行SQL關係資料庫,該資料庫在通用硬體上可以線性擴展。與NoSQL解決方案一樣,NewSQL資料庫對雲原生友好,並且可以隨意擴展以滿足超大數據規模下的應用程式需求。系統應設計為使用集群內無共享數據分塊的架構,來實現雲端環境下低延遲的讀寫性能。
NewSQL資料庫提供了高可用、容錯性以及物理數據冗餘,在電信網路之類的場景也能夠平穩運行,以便電信運營商能夠從容應對大量湧入的數據。藉助功能強大的NewSQL資料庫,用戶還可以針對實時數據流處理場景,構建面向實時事務的應用程式。

3.2 可用性

NoSQL
NoSQL系統專為CAP理論的可用性而設計,這意味著即使在分散式分區的情況下,資料庫也始終會響應。
但是NoSQL系統在設計上優先考慮可用性,採用最終一致性,而不是強一致性(即始終提供最新最正確的數據集快照)方案,意味著NoSQL系統為了快速響應,然而可以返回的不是最新數據。
Apache Cassandra是最終一致性理念的踐行者,即快速響應比始終返回最新數據更重要,確實對於許多應用程式而言,最終的一致性是可以接受的。
但是,需要根據確切數據才可以進行交易的場景,比如電信公司需要採取措施來打擊欺詐等活動,最終一致性是不可接受的。
因此,NoSQL解決方案不適用於以下情況:

  • 決定是否撥打移動用戶的電話
  • 跟蹤(計數)並分配有限的稀缺資源
  • 交易事務決策

NewSQL
NewSQL系統優先考慮一致性而不是可用性。NewSQL系統將向所有客戶返回相同的確切答案,從而使應用程式可以在通話費用,飛機座位分配和庫存等方面做出實時決策,而不會發生衝突。

3.3 一致性

NoSQL
如前所述,NoSQL系統是為實現可擴展性和可用性而設計的,但要犧牲強一致性作為代價。因此,對於需要強一致性的場景而言,NoSQL系統並不是一個好的選擇,比如計費和操作支援場景,而這兩個場景對於電信運營又都很常見。
同樣的還有欺詐行為,電信運營商尤其是發展中國家的電信運營商,承受著巨大的壓力,被濫用的SIM卡甚至可以用集裝箱計,從而造成每年數十億美元的損失。解決電信欺詐問題需要大規模準確地實時計算查詢呼叫方賬戶,這都是NoSQL資料庫無法做到的。

NewSQL
NewSQL系統具有高度一致性,它們優先考慮一致性而不是可用性,與此同時,NewSQL也支援多分區,這對於電信公司及其提供不間斷服務的能力至關重要,因為這意味著即使節點到節點的通訊出現故障,集群仍可以繼續工作。

3.4 快速響應事務性場景

NoSQL
快速響應的場景在現代場景中非常普遍。儘管NoSQL解決方案通常可以提高數據存儲速度,但無法提供大規模的強一致的事務支援。
需要快速,可擴展的交易性應用程式包括:

  1. 在驗證用戶餘額的同時允許行動電話連接
  2. 以最優惠的價格進行交易
  3. 向潛在的數千個用戶展示移動廣告,而不會超出客戶的廣告投放預算
  4. 為電信服務商提供嚴格的SLA 在批准交易之前檢測是否存在信用卡盜刷行為

對於這類應用程式,由於處理事件每小時每分鐘都可能會發生數百萬次,因此NoSQL資料庫通常不是最佳選擇。電信、金融服務、在線遊戲、廣告技術和其他行業的業務需要能夠應對事件處理的並發和延遲。因此,可擴展的強一致性事務解決方案是必備的。

NewSQL
NewSQL系統為現代應用程式提供了高可擴展性和強一致性的特性,即使在海量數據處理時,多分區冗餘支援也可以使得系統線性擴展,助力應用程式精確快速響應客戶請求。

04 使用NewSQL構建可擴展的現代應用程式

NoSQL和NewSQL都提供了構建高度可擴展的應用程式的數據存儲能力。NoSQL數據存儲是高可用性應用場景的理想選擇。NewSQL系統則提供強大的一致性和事務交互性能力,即便在出現故障時,一致性比可用性更受青睞的場景中,NewSQL是最佳選擇。
儘管幾乎所有NoSQL解決方案都提供了可擴展性,但VoltDB卻提供了可擴展性並添加了強一致性的事務支援。
VoltDB具備極高的響應速度、強一致性和可擴展性。在所有NewSQL解決方案,面對集群故障的情景中,VoltDB都是最強大和最靈活的,我們針對可用性進行了獨立驗證,見證了許多客戶在生產環境集群中穩定運行數年。
VoltDB在需要強一致性的應用場景中表現出色,包括:

  1. 處理電信BSS和網路中日益複雜的策略和計費規則問題
  2. 從呼叫後欺詐檢測到防止欺詐性呼叫發生
  3. 向電信客戶提供即時優惠,以改善訂戶體驗和ARPU 應用機器學習規則來檢測和防止工業物聯網的入侵行為
  4. 測量、監視和檢測性能下降,避免意外宕機

VoltDB是目前市場上最成熟的NewSQL系統,也是雲原生資料庫。它支援實時數據流中的ACID事務處理,對本地集群和Hadoop生態支援也非常完備。除此之外,它同時集成了高吞吐量,低延遲的數據處理特性,是非常優秀的數據密集型應用程式系統, 在高性能、低延遲、強一致性需求場景中表現不俗,廣泛應用於策略執行,個性化推薦,欺詐或異常檢測等需要實時決策響應的數據流應用程式中。

如果您希望集成VoltDB到您的技術棧中,或者想和更多小夥伴一起交流
請私信與我們聯繫。

關於VoltDB
VoltDB支援強ACID和實時智慧決策的應用程式,以實現互聯世界。沒有其它資料庫產品可以像VoltDB這樣,可以同時需要低延時、大規模、高並發數和準確性相結合的應用程式加油。
VoltDB由2014年圖靈獎獲得者Mike Stonebraker博士創建,他對關係資料庫進行了重新設計,以應對當今不斷增長的實時操作和機器學習挑戰。Stonebraker博士對資料庫技術研究已有40多年,在快速數據,流數據和記憶體資料庫方面帶來了眾多創新理念。
在VoltDB的研發過程中,他意識到了利用記憶體事務資料庫技術挖掘流數據的全部潛力,不但可以滿足處理數據的延遲和並發需求,還能提供實時分析和決策。VoltDB是業界可信賴的名稱,在諾基亞、金融時報、三菱電機、HPE、巴克萊、華為等領先組織合作有實際場景落地案例。