RisingWave:一個(gè)用于流處理的云上開源數(shù)據(jù)庫(kù)

流處理系統(tǒng)(下文簡(jiǎn)稱流系統(tǒng))是現(xiàn)代數(shù)據(jù)棧中十分重要的技術(shù)方向,它們是為流數(shù)據(jù)的實(shí)時(shí)分析量身研發(fā)的。
在過(guò)去的幾十年里,研究人員和從業(yè)人員投入了大量的精力來(lái)開發(fā)大規(guī)模,高性能和高可用的流處理系統(tǒng)。
基于這些努力,如今開源亦或商業(yè)化的流系統(tǒng)已在各大公司的技術(shù)棧中長(zhǎng)期運(yùn)行,支持著成千上萬(wàn)的應(yīng)用,包括廣告推薦、欺詐檢測(cè)、物聯(lián)網(wǎng)分析等等。

隨著流處理領(lǐng)域取得的重大進(jìn)展,越來(lái)越多的公司開始研究現(xiàn)代流系統(tǒng),并渴望看到現(xiàn)代技術(shù)如何改變他們的業(yè)務(wù)??上У氖?,許多公司在他們的試水過(guò)程中陷入困境。
采用流系統(tǒng)的兩大阻礙
流處理系統(tǒng)的使用主要有兩大問(wèn)題擺在企業(yè)的面前:
(1)難以學(xué)習(xí)
學(xué)習(xí)如何使用流系統(tǒng)絕非易事,與提供 SQL 接口的傳統(tǒng)數(shù)據(jù)庫(kù)(如 MySQL和 PostgreSQL)不同,絕大多數(shù)流式系統(tǒng)都要求用戶學(xué)習(xí)一套特定平臺(tái)的編程接口(很可能是 Java)來(lái)處理流數(shù)據(jù)。
這使得對(duì)于非技術(shù)人員來(lái)說(shuō),掌握流系統(tǒng)幾乎成為一項(xiàng)不可能完成的任務(wù)。
此外,流系統(tǒng)以不同于數(shù)據(jù)庫(kù)的方式表示數(shù)據(jù),用戶必須編寫復(fù)雜的數(shù)據(jù)處理邏輯,才能在流系統(tǒng)和數(shù)據(jù)庫(kù)之間傳輸數(shù)據(jù)。
(2)維護(hù)成本高昂
如今許多流行的流系統(tǒng)是開源的,你可以輕易獲得自動(dòng)化的部署腳本和 docker 鏡像,但開源從來(lái)都不意味著免費(fèi)或?qū)嵒荨?/p>
在真實(shí)業(yè)務(wù)中,負(fù)載時(shí)常會(huì)因需求而突然波動(dòng),這使得企業(yè)們不得不采購(gòu)大規(guī)模的機(jī)器集群來(lái)應(yīng)對(duì)最壞的情況。這時(shí)部署和維護(hù)一個(gè)流系統(tǒng)的成本很可能超過(guò)購(gòu)買機(jī)器的成本,試想,要組建一個(gè)愿意熬夜運(yùn)維系統(tǒng)的工程師團(tuán)隊(duì),這是如何令人頭痛的問(wèn)題。
RisingWave:讓流處理普惠化
2022 年在 Github 上開源的 RisingWave 解決了上述問(wèn)題,其目標(biāo)就是讓流處理變得簡(jiǎn)單、實(shí)惠,并且人人都能使用。

簡(jiǎn)單的流處理
RisingWave 是一個(gè)分布式的流數(shù)據(jù)庫(kù)。它提供標(biāo)準(zhǔn)的 SQL 接口,兼容 PostgreSQL 語(yǔ)言標(biāo)準(zhǔn),使其與 PostgreSQL 生態(tài)系統(tǒng)能夠無(wú)縫集成,并幾乎無(wú)需改動(dòng)代碼。RisingWave 將流視作表,并允許用戶以優(yōu)雅的方式在流數(shù)據(jù)和歷史數(shù)據(jù)之上編寫復(fù)雜的查詢語(yǔ)句。
有了 RisingWave,用戶就可以純粹專注于他們的查詢分析邏輯,而無(wú)需學(xué)習(xí) Java 或特定系統(tǒng)的底層 API。
實(shí)惠的流處理
RisingWave 是為云設(shè)計(jì)的。云原生架構(gòu)使得 RisingWave 能夠充分利用云平臺(tái)提供的彈性資源。
作為一個(gè)完全托管的服務(wù),RisingWave 可以在云上自助部署、維護(hù)和擴(kuò)容,而不受瑣碎細(xì)節(jié)干擾。一旦用戶設(shè)定了他們的服務(wù)級(jí)別協(xié)議(SLA),RisingWave 就會(huì)自動(dòng)在云中組裝不同層級(jí)的計(jì)算和存儲(chǔ)資源,以最小的成本實(shí)現(xiàn)性能目標(biāo)。
RisingWave 是 Serverless 的:用戶按使用情況支付服務(wù)費(fèi)用。除非使用服務(wù),否則用戶無(wú)需付費(fèi),這樣一來(lái)使得小企業(yè)也能輕松上線流處理系統(tǒng)。
開放的流處理
RisingWave 自以 Apache 2.0 許可證開源內(nèi)核以來(lái),在短短的一年三個(gè)月時(shí)間里,在 GitHub 上擁有近 5K 顆星標(biāo),400 個(gè) fork,以及 130+ 位開源貢獻(xiàn)者。

此外,RisingWave 還擁有近 2000 位微信中文社區(qū)群成員和 Slack 社區(qū)成員。大家都可以參與 RisingWave 項(xiàng)目路線圖的設(shè)計(jì);每個(gè)人都可以在自己的云提供商上部署分布式流數(shù)據(jù)庫(kù);每個(gè)人都可以為社區(qū)做出貢獻(xiàn)并提供反饋。
關(guān)于 RisingWave
RisingWave是一款分布式 SQL 流處理數(shù)據(jù)庫(kù),旨在幫助用戶降低實(shí)時(shí)應(yīng)用的的開發(fā)成本。作為專為云上分布式流處理而設(shè)計(jì)的系統(tǒng),RisingWave 為用戶提供了與 PostgreSQL 類似的使用體驗(yàn),并且具備比 Flink 高出 10 倍的性能以及更低的成本。了解更多:
GitHub:?risingwave.com/github
官網(wǎng):?risingwave.com
公眾號(hào):RisingWave 中文開源社區(qū)