當今的通訊服務提供商(CSP)須要可以在處理海量複雜的數據的同時,不會降低或者減慢網路響應速度和可靠性。5G時代,設備和用戶數量呈指數級增加,這對業務支持服務(BSS)提出了新需求,也成爲了一項特別艱鉅的任務。
正如您目前所看到的現實狀況,電信網絡策略響應,個性化報價或防止欺詐交易等應用程序,必須可以在幾毫秒內對數據事件作出反應,才能增長營收或防止虧損。
爲了更好地知足這些日益複雜的需求,CSP須要知道如何在日益擁擠的數據庫環境中進行最佳地數據管理,並且這類場景彷佛每一年都會出現新的類別。最新類別則是NewSQL,它爲NoSQL和SQL數據庫沒法提供的電信公司提供了獨特優點,尤爲是在實時數據處理方面。當今的數據庫須要遍歷整個數據從獲取到執行的整個生命週期,且必須在10毫秒或更短的時間完成。環顧四周,目前只有NewSQL數據平臺才能實現這一目的。
本文闡述了SQL,NoSQL和NewSQL數據庫之間的主要區別,並解釋了爲何NewSQL數據庫是電信行業順應時代發展的關鍵,以及在5G時代,CSP如何充分利用各類數據庫技術對其網絡進行高效運維管理。數據庫
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保證。網絡
既然咱們已經注意到了SQL、NoSQL和NewSQL的基本區別,以及他們各自的優缺點。接下來,就讓咱們深刻了解下,電信業運營商和開發人員真正關心NoSQL和NewSQL的哪些特性,他們可使用NoSQL解決哪些問題?架構
咱們不懷疑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 可用性oop
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解決方案一般能夠提升數據存儲速度,但沒法提供大規模的強一致的事務支持。
須要快速,可擴展的交易性應用程序包括:
對於這類應用程序,因爲處理事件每小時每分鐘均可能會發生數百萬次,所以NoSQL數據庫一般不是最佳選擇。電信、金融服務、在線遊戲、廣告技術和其餘行業的業務須要可以應對事件處理的併發和延遲。所以,可擴展的強一致性事務解決方案是必備的。
NewSQL
NewSQL系統爲現代應用程序提供了高可擴展性和強一致性的特性,即便在海量數據處理時,多分區冗餘支持也可使得系統線性擴展,助力應用程序精確快速響應客戶請求。
NoSQL和NewSQL都提供了構建高度可擴展的應用程序的數據存儲能力。NoSQL數據存儲是高可用性應用場景的理想選擇。NewSQL系統則提供強大的一致性和事務交互性能力,即使在出現故障時,一致性比可用性更受青睞的場景中,NewSQL是最佳選擇。
儘管幾乎全部NoSQL解決方案都提供了可擴展性,但VoltDB卻提供了可擴展性並添加了強一致性的事務支持。
VoltDB具有極高的響應速度、強一致性和可擴展性。在全部NewSQL解決方案,面對集羣故障的情景中,VoltDB都是最強大和最靈活的,咱們針對可用性進行了獨立驗證,見證了許多客戶在生產環境集羣中穩定運行數年。
VoltDB在須要強一致性的應用場景中表現出色,包括:
VoltDB是目前市場上最成熟的NewSQL系統,也是雲原生數據庫。它支持實時數據流中的ACID事務處理,對本地集羣和Hadoop生態支持也很是完備。除此以外,它同時集成了高吞吐量,低延遲的數據處理特性,是很是優秀的數據密集型應用程序系統, 在高性能、低延遲、強一致性需求場景中表現不俗,普遍應用於策略執行,個性化推薦,欺詐或異常檢測等須要實時決策響應的數據流應用程序中。