使用內存NewSQL數據平臺來處理實時數據流的三個好處

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

然而,Apache這類開源項目,並不可以知足於大多數的行業需求,好比在金融、廣告技術、醫療物聯、電信等行業。併發

那使用內存NewSQL數據平臺來處理實時數據流有哪些好處呢?框架

一、複雜的機器學習運算機器學習

對於現代程序來講,擁有一個具有實時決策能力的引擎相當重要。雖然傳統的流數據處理平臺擁有一些基本的機器學習和模式識別能力,但仍是缺少一些重要的場景特性:ide

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

基於內存的NewSQL關係數據庫管理系統,簡稱(RDBMS),是爲了快速處理複雜的數據而創建。函數

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

只有基於內存的NewSQL RDBMS能夠爲現代大規模應用提供可執行的複雜決策+低延遲+高效率等一系列組合需求。oop

二、目前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語義保障。

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

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

  1. 簡化的查詢過程。把複雜的單個數據表查詢語句簡化成多個查詢語句,經過引入事務的概念確保他們有相同的執行結果,嚴格的ACID要求確保了這些查詢語句是能夠獨立執行的。
  2. 更容易的數據測試。對於數據庫的數據變動,均可以經過事務操做來完成,在完成數據測試以前回滾事務狀態便可。隔離性確保了多個數據測試能夠並行執行,不會致使數據在不肯定狀態下被修改。
  3. 更快的併發。ACID保障每一個事務的隔離性前提下,併發的程序能夠運行地更加快,也不須要開發者們在本身應用邏輯中考慮不一樣事務操做的併發時序。

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

對於企業來講,數據的準確性和一致性是相當重要的。不完整的資料不只僅會讓企業損失慘重,還會嚴重影響到企業品牌形象。更多關於NewSQL流處理信息,請參考如下文件:

圖片或複製下方連接下載

相關文章
相關標籤/搜索