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