從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可理解爲:
簡單來講,傳統的流處理技術已經不可以像NewSQL RDBMS同樣符合ACID保障。它們最多隻能包含能提供最終一致性的NoSQL數據庫。
對於企業來講,數據的準確性和一致性是相當重要的。不完整的資料不只僅會讓企業損失慘重,還會嚴重影響到企業品牌形象。更多關於NewSQL流處理信息,請參考如下文件:
或複製下方連接下載