新浪新闻客户端

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

重大升级!DolphinDB新版本发布!
2024年01月26日 11:25

  新年伊始,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 线图           数据分析功能更强大

  分钟 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系列版本(最新版)。

责任编辑:何奎良

举报邮箱:jubao@vip.sina.com

Copyright © 1996-2024 SINA Corporation

All Rights Reserved 新浪公司 版权所有