重大升级!DolphinDB新版本发布!

2024-01-28 11:17   来源: 互联网

      新年伊始,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)加入技术交流群,我们期待听到你们的声音~


责任编辑:刘明德
分享到:
0
【慎重声明】凡本站未注明来源为"中华新闻网"的所有作品,均转载、编译或摘编自其它媒体,转载、编译或摘编的目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如因作品内容、版权和其他问题需要同本网联系的,请在30日内进行!