使用記憶體NewSQL資料平臺來處理實時資料流的三個好處

VoltDB_China發表於2021-01-20

從Apache Kafka的傳統釋出訂閱系統,到相關的流處理框架,例如Apache Samza,Apache Storm,Apache Flink,都適用於大多數工作在基本決策能力、執行效率、支撐的資料規模和穩定性方面的需求。

然而,Apache這類開源專案,並不能夠滿足於大多數的行業需求,比如在金融、廣告技術、醫療物聯、電信等行業。

那使用記憶體NewSQL資料平臺來處理實時資料流有哪些好處呢?

1、複雜的機器學習運算

對於現代程式來說,擁有一個具備實時決策能力的引擎至關重要。雖然傳統的流資料處理平臺擁有一些基本的機器學習和模式識別能力,但還是缺乏一些重要的場景特性:

  • 以毫秒為單位來實時決策複雜的、有大量引數變數和上下文狀態的場景
  • 從歷史資料和實時資料流中,動態訓練和更新機器學習模型的場景

基於記憶體的NewSQL關聯式資料庫管理系統,簡稱(RDBMS),是為了快速處理複雜的資料而建立。

RDBMS的核心功能,比如:使用者自定義函式和儲存過程等,可用來用作自定義的機器學習模型,方便嵌入到資料庫系統中,進行資料流的實時決策。PMML模型會被自動轉化成UDF並運用於生產。

只有基於記憶體的NewSQL RDBMS可以為現代大規模應用提供可執行的複雜決策+低延遲+高效率等一系列組合需求。

2、目前SQL還是王道
SQL是一個具有悠久歷史並被公認的資料查詢標準,所有嘗試替代SQL的工具最後都以失敗告終,其中也包括了像是Apache Hadoop框架下的MapReduce和其他多數NoSQL工具。

帶有諷刺的是目前多數NoSQL把重心放在新增SQL或是SQL類似的查詢語言。就連Apache Kafka也在順應SQL的時代,併為了流處理而加入KSQL。

然而,目前KSQL標準離SQL還是相差甚遠。

在另一方面,作為一個參照與NewSQL RDBMS而創立的系統,VoltDB在流資料上提供了全面的ANSI適用型SQL,實現更廣的查詢和操作複雜的事件處理。

此外,ANSI適用型SQL也能給開發者們提供對於快速流處理所需要的熟悉度,靈活度和標準化。NewSQL在給HTAP提供相同的NoSQL可擴充套件性平臺的同時,也不會影響到ACID語義保障。

3、ACID保障很重要
一個優秀的NewSQL RDBMS不僅僅是一個快速、可擴充套件、容易部署的系統,在簡化開發和部署的同時,它還需要提供ACID保障。

從開發者的角度,ACID可理解為:

  1. 簡化的查詢過程。把複雜的單個資料表查詢語句簡化成多個查詢語句,透過引入事務的概念確保他們有相同的執行結果,嚴格的ACID要求確保了這些查詢語句是可以獨立執行的。
  2. 更容易的資料測試。對於資料庫的資料變更,都可以透過事務操作來完成,在完成資料測試之前回滾事務狀態即可。隔離性確保了多個資料測試可以並行執行,不會導致資料在不確定狀態下被修改。
  3. 更快的併發。ACID保障每個事務的隔離性前提下,併發的程式可以執行地更加快,也不需要開發者們在自己應用邏輯中考慮不同事務操作的併發時序。

簡單來說,傳統的流處理技術已經不能夠像NewSQL RDBMS一樣符合ACID保障。它們最多隻能包含能提供最終一致性的NoSQL資料庫。

對於企業來說,資料的準確性和一致性是至關重要的。不完整的資料不僅僅會讓企業損失慘重,還會嚴重影響到企業品牌形象。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69903219/viewspace-2751353/,如需轉載,請註明出處,否則將追究法律責任。

相關文章