9月6日,“以實時,見未來”2024 DolphinDB年度峰會在杭州舉辦。DolphinDB創(chuàng)始人、CEO周小華博士為大家?guī)砹酥黝}為“跨越數(shù)據(jù)邊界:企業(yè)級實時計算平臺構(gòu)想”的精彩演講。
從最初的一站式大數(shù)據(jù)平臺,到高性能時序數(shù)據(jù)庫,再到如今的實時計算平臺,DolphinDB的發(fā)展之路充滿了創(chuàng)新與突破。演講中,周博士回顧了DolphinDB如何從時序數(shù)據(jù)庫,逐步演進為一個涵蓋多模態(tài)存儲、流批計算、GPU計算、豐富的業(yè)務(wù)中間件等等的全方位基礎(chǔ)軟件的歷程。未來,DolphinDB將致力于構(gòu)建一個支持多部門協(xié)同作戰(zhàn)的企業(yè)級實時計算平臺——Orca。這不僅僅是技術(shù)上的進化,更是一種全新的開發(fā)模式的探索,可以為金融機構(gòu)提供更高效、敏捷的解決方案。
以下是周博士在峰會分享的全文內(nèi)容:
很高興又和大家見面了。再次歡迎各位的到來。以實時,見未來。這是我們這次大會的主題。也呼應(yīng)了我們對DolphinDB的定位。未來我們希望將DolphinDB打造成一個企業(yè)級的實時計算平臺。
01DolphinDB發(fā)展歷程
我記得,DolphinDB的第一個商業(yè)化版本剛剛推出的時候。公司的主要成員都是研發(fā)崗位。我作為公司的研發(fā)兼第一個銷售,開始了我的路演生涯。那時,每天的兩件核心事情:第一,為下一個版本繼續(xù)寫代碼。第二,就是不停的向不同的客戶解釋同一個問題:DolphinDB是什么。我們最初的定位叫做一站式大數(shù)據(jù)平臺。試了一段時間之后發(fā)現(xiàn)不太靈。精準(zhǔn)的踩中了那個年份產(chǎn)品流行語的每一個雷點。一站式,大數(shù)據(jù),平臺。搜索引擎一檢索,能出來上百個同類產(chǎn)品。辨識度非常低。完全不能體現(xiàn)出我們的優(yōu)勢。
我們就琢磨了一下,要換個說法。那個時候,時序數(shù)據(jù)庫的應(yīng)用還不是特別廣泛,基本是國外的開源產(chǎn)品InfluxDB占據(jù)市場。所以我們決定用國產(chǎn)高性能時序數(shù)據(jù)庫這個概念,作為DolphinDB的標(biāo)簽。20年的時候,snowflake在紐交所成功上市,市值超330億美元。緊接著,另一家國產(chǎn)數(shù)據(jù)庫廠商PingCap完成了創(chuàng)歷史的2.7億美元融資。一下子,國產(chǎn)數(shù)據(jù)庫這個概念被點燃了,我們也收獲了很多自然流量的客戶??赡艿浆F(xiàn)在,一小部分客戶還是以一個數(shù)據(jù)庫、一個時序數(shù)據(jù)庫的視角,來理解來認(rèn)識DolphinDB。
但是時序數(shù)據(jù)庫這個定位,還是沒法講清楚DolphinDB。這是6年前,DolphinDB的架構(gòu)圖。
6年前DolphinDB架構(gòu)圖
可以看到,DolphinDB其實在設(shè)計之初,就已經(jīng)與傳統(tǒng)的數(shù)據(jù)庫有了很大的區(qū)別。在分布式存儲之上,我們開發(fā)了自己的腳本語言,豐富的專業(yè)函數(shù)庫。這些能力融合在一起,形成了一個非常擅長實時數(shù)據(jù)分析的一站式產(chǎn)品。
這是今天DolphinDB的架構(gòu)圖。
現(xiàn)在的DolphinDB架構(gòu)圖
DolphinDB在每一個能力板塊都得到了增強。一個個新功能見證了DolphinDB向一個實時計算平臺不斷演進的過程。我們逐漸完善了多模態(tài)存儲的概念,從單一的olap引擎擴展到現(xiàn)在olap,tsdb,pkey,imoltp,vector等5個引擎。計算層面增加了流計算和GPU計算Shark。業(yè)務(wù)中間件能力得到了極大的提升和擴充,函數(shù)個數(shù)從600+提升到了2000+,大量的插件,計算引擎和腳本模塊從無到有覆蓋了諸多的金融業(yè)務(wù)。
02企業(yè)級實時計算平臺構(gòu)想
近幾年,隨著DolphinDB在金融機構(gòu)的使用越來越深入,一個機構(gòu)擁有多個DolphinDB集群的現(xiàn)象越來越普遍。多集群的數(shù)據(jù)訪問、計算、運維的需求越來越迫切。與此同時,用戶的計算越來越復(fù)雜,任務(wù)之間的依賴關(guān)系,事件之間的依賴關(guān)系,如何簡單清晰的表達,越來越成為一個瓶頸。一個企業(yè)級的實時計算平臺的呼聲日益高漲。
企業(yè)級實時計算平臺——Orca
順便提一下,我們將企業(yè)級實時計算平臺這個產(chǎn)品命名為Orca虎鯨,這是繼單集群版本Dolphin海豚,GPU版本Shark鯊魚,復(fù)雜事件處理引擎Octopus章魚之后的又一個海洋家族logo?;ⅥL力量大,速度快,聰明,特別擅長家族協(xié)同作戰(zhàn),這個跟多集群多部門協(xié)同工作非常類似。我們內(nèi)部在討論命名這個產(chǎn)品的時候,說到虎鯨orca時,全票一致通過。
大家對企業(yè)級實時計算平臺,可能都有自己的看法。深入問題之前,我想分享一下自己樸素的理解。這也是跟我們很多用戶溝通之后形成的概念。企業(yè)級平臺首先是能夠協(xié)同支持金融機構(gòu)多部門的業(yè)務(wù),尤其在表達復(fù)雜批計算或流計算的任務(wù)或數(shù)據(jù)的依賴關(guān)系時,非常簡單高效。其次,數(shù)據(jù)訪問需要變得非常簡單,只要給一個全局唯一的標(biāo)識,就可以得到需要的數(shù)據(jù),用戶不用去操心是不是最新的版本,不用去操心存儲在哪個集群哪個服務(wù)器,是不是跟我的計算服務(wù)器在同一個集群,不用去操心是不是要避開使用高峰。最后,運維監(jiān)控和資源管控也必須是企業(yè)級的,可以對整個機構(gòu)的全部集群進行管理。
03企業(yè)級實時計算平臺特性
首先實時計算平臺對金融業(yè)務(wù)的支持必須有足夠的深度和寬度。
這是傳統(tǒng)的數(shù)據(jù)倉庫不能直接拿過來作為企業(yè)級實時計算平臺的重要原因。金融行業(yè),尤其是跟量化投資相關(guān)的領(lǐng)域,對于數(shù)據(jù)分析的應(yīng)用、數(shù)據(jù)價值的挖掘,程度之深、維度之廣、投入之大,幾乎可以說是其他所有行業(yè)加起來的總和。我身為曾經(jīng)的從業(yè)者,現(xiàn)在的服務(wù)者,深以為然。這從側(cè)面反應(yīng)出一個問題,那就是金融領(lǐng)域的業(yè)務(wù)開發(fā),是專業(yè)性極高,非常復(fù)雜的。
普通策略開發(fā)流程
以普通的策略開發(fā)為例,一個有效的策略上線,要經(jīng)歷特征工程、因子評價、策略回測、代碼轉(zhuǎn)寫、結(jié)果校驗等多個階段,才能最終上到實盤去運行。這個實現(xiàn)的過程,首先業(yè)務(wù)人員要具備較好的數(shù)學(xué)、統(tǒng)計、金融理論等學(xué)科知識的儲備。通過這些能力將業(yè)務(wù)邏輯整理出來,通過計算機工程來進行落地實現(xiàn)。而在落地的過程中,為了追求業(yè)務(wù)運行的效率,又對業(yè)務(wù)人員的計算機工程能力有較高的要求。計算平臺如果在業(yè)務(wù)支持上沒有深度,這項工作的落地會非常耗時耗力,失去了平臺建設(shè)的意義,還不如讓策略研發(fā)人員自己去用Python。
DolphinDB對金融業(yè)務(wù)的支持
一個稍具規(guī)模的金融機構(gòu),業(yè)務(wù)線通常有很多。從權(quán)益到FICC,從行情、投研、交易、風(fēng)控到合規(guī),每一個都需要相應(yīng)的IT系統(tǒng)支持。雖然,不能要求一個平臺十八般武藝樣樣精通,但至少在核心能力上有足夠?qū)挾鹊闹С?。否則各個業(yè)務(wù)部門的各個系統(tǒng)極易演變成一個個孤立的煙囪系統(tǒng)或信息孤島。
對金融業(yè)務(wù)的友好支持,一直是DolphinDB引以為傲的一個點,也是DolphinDB區(qū)別于其它基礎(chǔ)軟件最顯著的一個點。我想,在座的DolphinDB的用戶對這一點也深有體會。前面初總也介紹了 DolphinDB這幾年在不斷拓展金融業(yè)務(wù)的邊界,從最初的權(quán)益量化投研這個單一場景,到現(xiàn)在已經(jīng)覆蓋十余個場景。今后,我們會繼續(xù)堅持這個特色,把底層技術(shù)和金融業(yè)務(wù)融合起來,讓大家落地業(yè)務(wù)更快更方便。
04新型開發(fā)模式--鋸齒模型
現(xiàn)在我們具體來看一看基于DolphinDB的金融業(yè)務(wù)開發(fā)模式。DolphinDB軟件用一句話概括就是多模態(tài)存儲+批計算+流計算+編程語言+業(yè)務(wù)中間件。與金融業(yè)務(wù)的融合體現(xiàn)在業(yè)務(wù)中間件這個模塊上。具體我們可以通過內(nèi)置函數(shù)庫,內(nèi)置引擎,插件和模塊4種方式來實現(xiàn)業(yè)務(wù)中間件。
這種新的開發(fā)模式與傳統(tǒng)的煙囪模式最大的區(qū)別是不同的業(yè)務(wù)系統(tǒng)共享一個由存儲,計算和業(yè)務(wù)中間件構(gòu)成的一個強大的底座。讓真正懂業(yè)務(wù)的人寫腳本或調(diào)API進行快速的二次開發(fā),實現(xiàn)業(yè)務(wù)快速落地。因為業(yè)務(wù)的開發(fā)非常敏捷,成本占比較小,整個形狀看起來像一把鋸子上的鋸齒,我們稱之為鋸齒開發(fā)模型。鋸齒開發(fā)模式可以大大提升金融業(yè)務(wù)的開發(fā)效率,降低投入成本。
DolphinDB鋸齒開發(fā)模型
談到業(yè)務(wù)中間件,不得不提一下我們客戶的一個擔(dān)憂。很多客戶表示,開發(fā)業(yè)務(wù)中間件很好,功能很強大,也方便業(yè)務(wù)落地,但會不會攤子鋪得太大,造成系統(tǒng)復(fù)雜度增加,最終導(dǎo)致系統(tǒng)失控?我這兒回應(yīng)一下。首先非常感謝我們的客戶對我們產(chǎn)品的關(guān)切。但是單純從技術(shù)和架構(gòu)的角度來看,業(yè)務(wù)中間件并非系統(tǒng)的核心,它只是基礎(chǔ)設(shè)施暴露的一個框架,允許橫向的去拓展業(yè)務(wù)邏輯。不論開發(fā)一個中間件,還是100.1000個中間件,DolphinDB的基礎(chǔ)架構(gòu)保持不變,也不會增加系統(tǒng)的復(fù)雜度。另外,業(yè)務(wù)中間件這一塊,我們也會更加開放,把標(biāo)準(zhǔn)接口暴露出來,更多的中間件將交由我們的客戶或第三方去開發(fā)。
05解決數(shù)據(jù)一致性問題
企業(yè)級實時計算平臺,第二個需要解決的核心問題,就是數(shù)據(jù)一致性的問題。
簡單說,就是一個金融機構(gòu)內(nèi)部,在任何一個時間點上,有一個全局的唯一數(shù)據(jù)視圖。我們的核心業(yè)務(wù)部門可以在這個數(shù)據(jù)視圖上,開展行情,投研,交易,績效,風(fēng)控,合規(guī)等業(yè)務(wù)的數(shù)據(jù)寫入,查詢和計算,得到正確可靠的結(jié)果。這與資管領(lǐng)域的IBOR數(shù)據(jù)模型一直在倡導(dǎo)的數(shù)據(jù)一致性,或黃金單一數(shù)據(jù)源標(biāo)準(zhǔn),講的是同一個事情。
那為什么在一個金融機構(gòu)中數(shù)據(jù)的一致性這么難?為什么同一份數(shù)據(jù)非得有多個不同版本的拷貝?這兒有很多因素,有非技術(shù)的原因,譬如某些行業(yè)中的廠商不愿意開放數(shù)據(jù)接口,又譬如因為合規(guī)性的問題部門之間必須有防火墻隔離數(shù)據(jù)。這些非技術(shù)原因,DolphinDB也無能為力。還有很多技術(shù)原因?qū)е碌臄?shù)據(jù)不一致的問題,這將會是我們重點要攻克的目標(biāo)。
針對同一個數(shù)據(jù)節(jié)點上的計算任務(wù)太重,不得不創(chuàng)建多個數(shù)據(jù)拷貝來分擔(dān)計算壓力的場景,DolphinDB會采用存算分離的技術(shù),通過對用戶無感的緩存來解決數(shù)據(jù)不一致的問題,第一個版本會在10月初發(fā)布。針對異地距離太遠(yuǎn),不得不創(chuàng)建本地拷貝來提升性能的問題,可以使用DolphinDB已發(fā)布的集群間異步數(shù)據(jù)復(fù)制的能力來解決,或者用Raft Learner這樣的分布式復(fù)制協(xié)議來解決。針對因跨集群,權(quán)限管理不便導(dǎo)致數(shù)據(jù)拷貝的問題,DolphinDB會在年底的版本推出更為全面的單點登錄方案。針對不能跨集群計算而導(dǎo)致數(shù)據(jù)拷貝的問題,DolphinDB正在推出跨集群的SQL計算能力。最后對于企業(yè)級的數(shù)據(jù)管理來說,一個全局的數(shù)據(jù)目錄至關(guān)重要,可以用全局唯一的地址來標(biāo)識每一個數(shù)據(jù)資源,便于數(shù)據(jù)訪問。DolphinDB正在推出一個集群+集群內(nèi)目錄的二級數(shù)據(jù)目錄管理方法。
企業(yè)級數(shù)據(jù)的一致性建模是一個非常基礎(chǔ),復(fù)雜,但又十分重要問題。這個問題搞好了,系統(tǒng)的可用性,易用性,正確性就能上來了。讓大家在用數(shù)據(jù)的時候,非常的便捷,非常的絲滑,非常的放心,真正做到只需要知道數(shù)據(jù)的唯一標(biāo)識和數(shù)據(jù)字典,就可以去操作數(shù)據(jù)了。
06解決計算依賴問題
企業(yè)級實時計算平臺另一個有挑戰(zhàn)性的問題是計算依賴的問題。
一個金融機構(gòu)中各業(yè)務(wù)部門之間,一個部門里的多個計算任務(wù)之間,一個計算任務(wù)內(nèi)的各模塊之間,都存在依賴關(guān)系。如果用一幅圖來表示,我們稱之為計算依賴圖。譬如我們需要計算一個持有各類金融資產(chǎn)的機構(gòu)的風(fēng)險指標(biāo),無論是事后風(fēng)控的批處理計算,還是事中風(fēng)控的的流式計算,都會呈現(xiàn)一幅復(fù)雜的計算依賴圖。
計算依賴圖
在這個風(fēng)險計算的依賴圖中,任何一個模塊,譬如行情和頭寸的變化,都會觸發(fā)后續(xù)的模型或計算指標(biāo)的變化,最終算出整個機構(gòu)的風(fēng)險指標(biāo)。這種鏈?zhǔn)降膶崟r計算模型正是我們這個平臺名稱的由來。在業(yè)務(wù)上,對處于高度市場競爭的金融機構(gòu)來講,企業(yè)級實時計算模式是非常有價值的,可以大大提升一家機構(gòu)對市場反應(yīng)的靈敏度。
DolphinDB已經(jīng)具備非常強大靈活的批計算能力和流計算能力,我們暴露了大量的引擎,模塊,函數(shù)和算子給最終用戶,可以用這些底層的能力去靈活實現(xiàn)各類計算任務(wù)。但是這些底層的API接口并不擅長表達復(fù)雜的依賴關(guān)系。我們的用戶嘗試用這些底層接口去編寫具有復(fù)雜依賴關(guān)系的任務(wù)時,發(fā)現(xiàn)代碼過于復(fù)雜,并且難以后期維護和管理。如果再跟分布式計算和高可用結(jié)合起來,代碼愈加晦澀難懂。
我們已經(jīng)意識到了這個問題。我們準(zhǔn)備引入一種新的聲明式的API來描述金融業(yè)務(wù)的需求邏輯,來表達任務(wù)之間的依賴關(guān)系。后臺系統(tǒng)負(fù)責(zé)將這些high level的業(yè)務(wù)邏輯轉(zhuǎn)化成底層的API接口調(diào)用。
這種方式的好處是業(yè)務(wù)描述與具體實現(xiàn)完全分開。這樣業(yè)務(wù)人員開發(fā)會更加簡單,聚焦于業(yè)務(wù)場景的描述,不用陷于實現(xiàn)的諸多細(xì)節(jié)之中。另一個好處是便于系統(tǒng)做優(yōu)化。譬如計算資源怎么分配,任務(wù)怎么調(diào)度安排,狀態(tài)管理怎么實現(xiàn),數(shù)據(jù)源的副本如何選擇,高可用怎么實現(xiàn),計算執(zhí)行的邏輯計劃和物理計劃的優(yōu)化,可以做很多工作。當(dāng)系統(tǒng)復(fù)雜時,自動的優(yōu)化可能比用戶人為的選擇更有效。
07運維、監(jiān)控及資源管控的需求
當(dāng)一個企業(yè)級的實時計算平臺具備的功能有足夠的寬度和深度,能滿足各部門業(yè)務(wù)拓展的需要,具備扎實的一致性數(shù)據(jù)底座,具備描述和優(yōu)化復(fù)雜的業(yè)務(wù)依賴關(guān)系的能力,自然而然就會引出對運維,監(jiān)控以及資源管控的強力需求。
DolphinDB目前只具備單一集群的運維能力,而事實上,已經(jīng)有數(shù)十家金融客戶在運行著2個以上的DolphinDB集群。我們會通過幾個版本的迭代,提供多集群的運維能力。DolphinDB會增加一種新的節(jié)點類型Master of Master(MoM)。通過MoM類型節(jié)點,可以便捷的實現(xiàn)多集群運維。
通過全局的數(shù)據(jù)目錄,計算依賴圖,Dashboard,我們可以對DolphinDB集群以及正在運行的計算任務(wù)提供可視化的監(jiān)控手段。用戶可以層層下鉆,去發(fā)現(xiàn)和診斷問題。
Orca中的實時計算任務(wù)都做好了狀態(tài)管理,可以非常低的代價將任務(wù)轉(zhuǎn)移到其它節(jié)點。因此,Orca的計算資源將具備較好的彈性伸縮能力。
08結(jié)語
打造一個企業(yè)級的實時計算平臺,是一項艱巨的工程。我們已經(jīng)預(yù)估了工程的難度和復(fù)雜性,這將是DolphinDB接下來一年最核心的研發(fā)工作。我們準(zhǔn)備分4個版本來實現(xiàn)所有的核心功能,分別是今年的10月,明年的1月,5月和9月,每個版本要發(fā)布的內(nèi)容,暫時保密。
新版本時間節(jié)點
做難而正確的事,這個熟悉的網(wǎng)紅金句,一般用在科技公司年會或峰會的結(jié)尾處,彰顯價值。有點俗套,但我覺得用在我們正在做的這件事情上,平心而論,不過分。打造一個企業(yè)級的實時計算平臺,國內(nèi)國外的很多金融機構(gòu)都想做。但據(jù)我所知,至少國內(nèi)還沒有一家金融機構(gòu)擁有這樣的計算平臺。所以這個事情的難度肯定比我2012年寫DolphinDB的第一行代碼時更大,但是我們現(xiàn)在擁有一個更強更穩(wěn)定的團隊,而且已經(jīng)打下了12年的基礎(chǔ),我更有信心。退一萬步講,這件事情即便做的不夠好,也可以為后來的研發(fā)人員提供更多寶貴的經(jīng)驗。做好了,則可以大幅提升我們金融乃至其它行業(yè)的生產(chǎn)力。正因為這件事情的價值很大,即便在如此惡劣的經(jīng)濟大環(huán)境下,我們?nèi)匀辉敢夥攀忠徊?,去做一家科?chuàng)企業(yè)該做的事情。正因為難,在這個過程中,也更希望得到大家的支持和呵護!也歡迎感興趣的朋友會后做更多技術(shù)上和業(yè)務(wù)上的探討。感謝大家的聆聽,希望大家在今天的會場有收獲!
免責(zé)聲明:以上內(nèi)容為本網(wǎng)站轉(zhuǎn)自其它媒體,相關(guān)信息僅為傳遞更多信息之目的,不代表本網(wǎng)觀點,亦不代表本網(wǎng)站贊同其觀點或證實其內(nèi)容的真實性。如稿件版權(quán)單位或個人不想在本網(wǎng)發(fā)布,可與本網(wǎng)聯(lián)系,本網(wǎng)視情況可立即將其撤除。
互聯(lián)網(wǎng)新聞信息服務(wù)許可證10120230012 信息網(wǎng)絡(luò)傳播視聽節(jié)目許可證0121673 增值電信業(yè)務(wù)經(jīng)營許可證京B2-20171219 廣播電視節(jié)目制作經(jīng)營許可證(京)字第10250號
關(guān)于我們 中宏網(wǎng)動態(tài) 廣告服務(wù) 中宏網(wǎng)版權(quán)所有 京ICP備2023030128號-1 舉報電話:010-63359623
Copyright ? 2016-2025 by www.uokii.com. all rights reserved 運營管理:國家發(fā)展和改革委員會宏觀經(jīng)濟雜志社