重大升級!DolphinDB新版本發布!
新年伊始,DolphinDB 迎來了24年度的首次版本升級。在剛剛發布的 2.00.11 & 1.30.23 版本中,DolphinDB 帶來了如下亮點新功能:增加了 TSDB 引擎的軟刪除功能、支持了 SQL 開窗函數、新增了 Web 端的數據面板功能。除此之外,DolphinDB 的數據分析能力也進一步領先:新增了適合風控計算場景的規則引擎、優化了對數據回放的倍速限制、新增并擴展了一系列函數、還更新了2024年度的交易日歷。同時,新版本還改善了函數視圖、強化了資源監控與隔離等運維管理功能……下面一起來看看,具體都有哪些功能更新吧~
引擎性能再提升
軟刪除(Soft Delete)是一種在數據庫中處理數據刪除的方法,這種刪除方式并不是直接從數據庫中移除數據,而是通過特定的標記方式在查詢的時候將此記錄過濾掉,在后臺合并數據文件時才真正刪除數據。相對于硬刪除(Hard Delete),即直接從數據庫中永久刪除數據,軟刪除以追加方式進行數據刪除,可大幅度提升列式數據庫刪除的效率。
2.00.11版本中支持了 TSDB 引擎的軟刪除功能,通過建表時進行配置,僅在去重機制為保留最新一條時可以生效。
除此之外,新版本還優化了部分場景下的用戶查詢性能(如 sortkey 很多,且使用了 sortKeyHashMappingFunc 時),提升了流數據引擎的計算性能,降低了計算的峰值時延。
Dashboard 大更新
此次跟隨 server 版本一起更新的,還有 DolphinDB 數據面板功能。
自2.00.11版本起,DolphinDB 為用戶提供了數據面板這一強大的數據可視化和分析工具,幫助用戶更好地理解和利用數據。
DolphinDB 數據面板位于 Web 端,包含創建面板、編輯變量、配置數據源和自定義圖表等功能。
用戶可以通過對表進行查詢的方式添加數據源,選擇包括柱狀圖、折線圖、餅圖、表格、K線、混合圖、訂單圖、富文本、描述表、編輯器、儀表盤、雷達圖、變量、散點圖等14種圖表形式進行自定義的數據呈現,并通過參數配置實現對儀表盤中查詢元素的動態控制,以便更靈活地分析和呈現數據。
分鐘 K 線圖
數據分析功能更強大
DolphinDB 是集數據存儲、數據分析和流數據處理為一體的統一實時數據處理平臺,通過多范式的編程語言、強大的函數庫、歷史數據分析與實時流計算的有機融合等設計,為用戶提供了卓越的數據分析使用體驗。新版本在 SQL 編程、流數據、函數功能拓展等層面都進行了功能增強。
SQL 開窗函數功能支持
開窗函數又叫做分析函數,是一種強大的分析工具,開窗函數允許用戶在數據集中定義一個窗口,對窗口內的數據進行聚合或計算,而不是僅僅對整個數據集進行操作。這使得用戶可以根據特定的條件來選擇分析的范圍,例如,計算每行的累積總和或平均值等。開窗函數能夠滿足更復雜的分析需求,特別是處理大型數據集或需要更詳細分析的情況。DolphinDB 從第一個版本開始就推出了 SQL 子句 context by,可以完成開窗函數的功能。此次支持 SQL 的開窗函數,主要是為了兼容標準 SQL,方便用戶遷移。
DolphinDB 新版本中新增了一系列 SQL 開窗函數,包括:sum,avg,std,stdp,var,varp,count,min,max,skew,kurtosis,med,rank,dense_rank,percent_rank,row_number,cume_dist,lead,lag,ntile,first_value,last_value,nth_value 函數。
新增規則引擎,為風控計算提供更優解
金融風控場景包含了流動性風險、信用風險、市場風險、法律和合規風險等,具有高度復雜性和即時性。為了有效管理和應對這些風險,往往會采用規則引擎,根據制定好的規則,自動識別異常交易,監測潛在欺詐行為,從而觸發相應的預警或阻斷措施。
新版本中,通過新增函數 createRuleEngine,可以創建規則引擎(RuleEngine)。該引擎支持用戶自定義規則集,引擎會根據每條數據指示的規則集,校驗輸入,并按要求輸出檢查結果。同時還新增了函數 updateRule 和 deleteRule,分別用于更新或刪除規則引擎中的規則。
例如持倉風控場景中,我們可以利用規則引擎,檢查最大持倉、最大虧損以及收益率
輸出結果展示:
可以看到,債券代碼為230012的持倉數據通過了風控限額檢查;230005在最大虧損和收益率上超過了限額,沒有通過規則檢查;230212在最大持倉和收益率上沒有通過檢查。
數據回放再升級,回放倍速更靈活
新版本中,數據回放可以完全支持按照數據到來時間的倍速進行回放,這意味著回放精度提高,用戶可以更細致地控制回放的時間單位和間隔。
此外,新版本縮短了用戶取消回放任務的響應時間,幫助用戶進一步提升分析決策效率。
函數的新增與擴展
新版本增加了對金融場景函數 bondDuration, bondDirtyPrice, bondConvexity 的支持,用于計算久期、含息價格、凸性等金融指標。
統計分析層面,新增支持了:
·函數 iminLast ,imaxLast 以及對應的滑動窗口實現,拓展了查找最值索引的功能,支持多個最值取最大的索引。
·函數 kendall ,用于計算 Kendall 相關性系數。
·函數 clip ,用于按數據范圍進行極值掩蓋。
數值計算層面,新增支持了:
·函數 socp,用于更高效地求解二階錐規劃問題,計算目標函數在限定條件下的最小值。
·函數 osqp,支持半正定的二次項矩陣的優化問題求解。
·函數 brentq ,用于在給定區間范圍內求根。
高階函數層面,新版本對已有函數 byRow 和 byColumn 進行了系統性的增強和統一,支持 tuple, array vector 和 matrix,并進行了大量的性能優化。同時新增了用模式符號 :H, :V 和 :U 表示函數 byRow, byColumn 和 loop 的功能,借助這類模式編寫腳本,代碼的表達能力得以提升。
2024年度交易日歷更新
隨著新的一年到來,DolphinDB 也在新版本中內置了2024年的交易日歷,其中包含各國的法定節假日、休市日、交易時間調整等信息,能夠為投資交易者提供更多參考。
同時,新版本拓展了 transfreq,asFreq 和 resample 函數的規則。過去,參數 rule 可以指定交易日歷的標識(國外交易所的 ISO Code、國內交易所簡稱或自定義交易日歷名稱),以便基于交易日歷進行計算。新版本中,交易日歷可以配合使用數字,表示多個交易日(此時只能指定由4個大寫字母組成的交易日歷標識)。例如:“2XSHG”,表示上海證券交易所每兩個交易日。
易用性增強
新版本在模塊、函數視圖功能上做了較大的改善,將函數視圖的權限約束和集群共享功能與 module 的模塊化管理結合,從而在使用上更為便捷可控,更利于代碼的工程化管理。改進具體表現在:
·過去用戶在命名函數視圖時,可能會出現函數重名沖突的問題。新版本中為函數視圖的功能增加了 namespace 屬性,即用戶可以把模塊里的函數定義成函數視圖,在不同模塊定義同名函數時,也不會產生沖突。
·拓展了權限管理功能,可以通過 grant(`user, VIEW_EXEC, `module::fun) 的方式對模塊及其函數進行權限管理。
·addFunctionView 的模塊將持久化至控制節點,并自動同步至整個集群,省去手動在各節點上傳 module 的繁瑣操作及一致性問題。
運維管理功能再強化
新版本在資源監控與隔離、備份恢復、可觀測性、權限和作業管理等方面都進行了升級,幫助 DBA 監控并保障相關業務穩定運行。
以資源監控隔離為例,新版本新增了用戶級別的資源跟蹤功能:
·新增函數 getUserHardwareUsage,用于采樣 CPU 和內存使用量。
·新增函數 getUserTableAccessRecords,用于記錄 SQL 訪問分布式表的信息。
·新增函數 enableResourceTracking 和 disableResourceTracking,用于開啟或關閉控制資源隔離。
·新增配置項 resourceSamplingInterval, resourceSamplingMaxLogSize 和resourceSamplingLogRetentionTime,支持用戶自定義采樣間隔、拆分日志文件的大小閾值和日志保留時間。
未完待續……
此次版本發布,不但進一步提升了數據庫的數據分析處理能力,也大大優化了用戶的使用體驗。后續我們也將致力于滿足不斷演進的用戶需求,積極傾聽大家的反饋。
接下來的版本中,DolphinDB 將會推出的重點功能如下:
·數據庫提供 catalog 功能,用戶對庫表的訪問更加方便,進一步兼容標準 SQL。
·推出新的主鍵存儲引擎和向量存儲引擎。
·計算節點支持數據緩存,增強分布式計算的拓展能力。
·支持 GPU 在計算中的應用,大大加速算子的計算性能,并支持遺傳算法。
·流計算推出復雜事件處理引擎,為實時事件應用程序提供低代碼開發環境與完整的運行平臺。
·腳本語言支持 Class,極大增強腳本語言的可擴展能力。
溫馨提示:1.30.23版本是1.30系列的最后一個版本,將于2025.12.31停止維護。后續 DolphinDB 更新版本為:2.00系列版本(穩定版)& 3.00系列版本(最新版)。
以上就是 DolphinDB 2.00.11 & 1.30.23新版本的功能特性概覽,歡迎大家點擊閱讀原文更新升級。試用過程中遇到任何問題,請添加 DolphinDB 小助手(dolphindb1)加入技術交流群,我們期待聽到你們的聲音~