使用記憶體NewSQL資料平臺來處理實時資料流的三個好處
從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可理解為:
- 簡化的查詢過程。把複雜的單個資料表查詢語句簡化成多個查詢語句,透過引入事務的概念確保他們有相同的執行結果,嚴格的ACID要求確保了這些查詢語句是可以獨立執行的。
- 更容易的資料測試。對於資料庫的資料變更,都可以透過事務操作來完成,在完成資料測試之前回滾事務狀態即可。隔離性確保了多個資料測試可以並行執行,不會導致資料在不確定狀態下被修改。
- 更快的併發。ACID保障每個事務的隔離性前提下,併發的程式可以執行地更加快,也不需要開發者們在自己應用邏輯中考慮不同事務操作的併發時序。
簡單來說,傳統的流處理技術已經不能夠像NewSQL RDBMS一樣符合ACID保障。它們最多隻能包含能提供最終一致性的NoSQL資料庫。
對於企業來說,資料的準確性和一致性是至關重要的。不完整的資料不僅僅會讓企業損失慘重,還會嚴重影響到企業品牌形象。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69903219/viewspace-2751353/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 剖析大資料平臺的資料處理大資料
- Spark在處理資料的時候,會將資料都載入到記憶體再做處理嗎?Spark記憶體
- 流資料處理利器
- 使用資料流的思想處理檔案
- 亞信安慧AntDB資料庫——實時流資料處理的先鋒資料庫
- 大資料處理平臺都有哪些?大資料
- 基於 RocketMQ Connect 構建資料流轉處理平臺MQ
- 幾個例子理解不同資料型別的堆疊記憶體處理資料型別記憶體
- 處理圖片流資料
- 大資料平臺之大資料處理系統的架構大資料架構
- flink使用Event_time處理實時資料
- 實時資料處理:Kafka 和 FlinkKafka
- 從圖森未來的資料處理平臺,看Serverless 工作流應用場景Server
- 使用RabbitMQ訊息佇列來處理大規模的資料流MQ佇列
- 使用Storm、Kafka和ElasticSearch處理實時資料 -javacodegeeksORMKafkaElasticsearchJava
- java大資料處理:如何使用Java技術實現高效的大資料處理Java大資料
- Python資料處理(一):處理 JSON、XML、CSV 三種格式資料PythonJSONXML
- 22個大資料開發處理框架平臺和工具大資料框架
- RocketMQ Connect 構建流式資料處理平臺MQ
- Apache Wayang :跨平臺資料處理系統Apache
- 時間序列資料的處理
- Python資料處理(二):處理 Excel 資料PythonExcel
- 在`Laravel`中使用`cursor`來查詢並處理資料 (輕鬆處理千萬級的資料)Laravel
- 在Laravel中使用cursor來查詢並處理資料 (輕鬆處理千萬級的資料)Laravel
- 以及異構資料來源之間的資料傳輸於一體的一站式的資料處理平臺。
- 資料融合平臺,資料服務一站式處理
- 資料處理
- 使用openpyxl處理表格資料
- 使用Excel高效處理資料Excel
- 影像資料不足時的處理方法
- 支付類系統資料處理和資料中臺的資料處理方式有什麼不同?
- 數棧產品分享:基於StreamWorks構建實時大資料處理平臺大資料
- 超3萬億資料實時分析,JCHDB助力海量資料處理
- 大資料開發實戰:實時資料平臺和流計算大資料
- DataPipeline在大資料平臺的資料流實踐API大資料
- 使用Kafka和Flink構建實時資料處理系統Kafka
- 處理大型資料集而不會耗盡記憶體的方式推薦記憶體
- JSP筆記-XML 資料處理JS筆記XML