2024-02-27
流式處理的概念
2001年9月11日,美國世貿大樓被襲擊,美國國防部第一次將「主動預警」納入國防的宏觀戰略規劃。而IBM作為當時全球最大的IT公司,承擔了大量基礎支撐軟件研發的任務。其中2009年正式發布的IBM InfoSphere Streams,就是全球最早真正意義上的商業化流數據處理引擎之一。
典型的流處理框架,如Apache Storm、Spark Streaming、Flink等也都是基於IBM的設計理念,采用「請求發送+結果返回」的模式進行了研發,並大量應用於實時互聯網類型的業務中,對前方產生的海量事件進行實時預處理。
Gartner在《2022中國數據庫管理系統市場指南》中,將流處理定義為:涉及對「事件」(event)的觀察和觸發,通常在「邊緣」采集,包括將處理結果傳輸至其他業務階段。並將在未來五年中,獲得更多關註。
圖:Gartner對於流/事件處理的定義
傳統部署架構的痛點
但是,不論Apache Storm、Spark Streaming、還是Flink等流處理框架的設計,都是將目光集中在「處理」本身。由於其自身不具備數據庫的能力,當需要與其他數據進行關聯、臨時存儲等互動時,則需要進行復雜的數據抽取。這使得大量的開發人員,還需要編寫復雜的Java/C++/Scala代碼,用最傳統的方式對記錄進行一條條預處理,並且還需要經常從其他外部的緩存/數據庫中實時調取額外數據進行手工關聯,開發和運維的負擔極大。
在亞信科技AntDB數據庫發展的十幾年中,我們看到大量運營商對核心數據處理加工的業務場景。這些需求中,有些能夠很容易地使用傳統技術滿足,但還有一些一定需要采用流式計算等實時處理能力才能支持。
數據庫與流式處理的有機融合
流數據處理模式與傳統數據庫的內核設計有著極大的區別。其核心本質在於,傳統數據庫架構設計中,應用與數據庫之間是「請求-響應「的關系,即業務發起SQL請求,數據庫隨即執行請求並返回結果。
而流處理內核則是「訂閱-推送「的模式。通過預先定義好的數據處理模型,對數據承載的業務「事件」進行處理,之後將處理後的結果推送給下遊應用進行展現或入庫。
圖:AntDB數據庫流式處理引擎的基礎架構
因此在流式數據實時處理領域,亞信科技AntDB數據庫做了大量從零開始的創新性探索與研究,於2022年底推出AntDB-S流處理數據庫引擎,徹底將流式計算與傳統交易、分析型數據存儲進行了融合,讓用戶可以在數據庫引擎內,通過標準SQL自由定義數據的結構以及實時處理邏輯。
同時數據在數據庫內部的流對象、表對象之間自由流轉的過程中,用戶可以隨時通過建立索引、流表關聯、觸發器、物化視圖等方式對數據進行性能優化、數據加工、集群監控、以及業務邏輯定製。
功能優勢
技術堆棧簡化:在實時流事件的處理上,AntDB數據庫流式處理一體引擎將大量的實時數據處理做到數倉內部,更進一步向通用事務靠攏。
標準SQL定義:傳統流處理方式對於SQL的處理很弱,還要寫大量業務代碼,而AntDB-S可以通過統一SQL語句進行處理,在流的使用上更便捷。
統一數據接口:支持流批模式的轉換,AntDB數據庫統一超融架構,實現了對外的接口統一,數據的采集與處理無需分開,流批都用SQL即可全部搞定。
支持完整事務處理:傳統流處理過程中不支持數據的修改,AntDB-S支持流處理中對數據的修改和事務操作。
實時結果更準確:通過分布式事務的ACID特性,解決實時流數據處理中,數據容災和一致性的問題,可以精確判斷數據故障點,完成流事件的矯正計算和重統計。
關於亞信安慧AntDB數據庫
AntDB數據庫始於2008年,在運營商的核心系統上,服務國內24個省市自治區的數億用戶,具備高性能、彈性擴展、高可靠等產品特性,峰值每秒可處理百萬筆通信核心交易,保障系統持續穩定運行超十年,並在通信、金融、交通、能源、物聯網等行業成功商用落地。