3.00.0

版本下载

版本号: 3.00.0     二级兼容 2.00.11 和 1.30.23

发行日期: 2024-03-31

新功能

  • 支持 fromStdJson 函数,将标准 JSON 文本转化为符合 DolphinDB 标准的数据。(3.00.0.2
  • 支持 parseInteger 函数(别名:parseInt),按照不同进制将字符串转换为指定的整数类型。(3.00.0.2
  • 支持函数 backupSettingsrestoreSettings,分别用于备份或恢复当前数据库系统中的所有用户、用户权限信息和函数视图。(3.00.0.2
  • 新增函数 VaRCVaR ,分别用于计算风控指标(VaR)和条件风险指标(CVaR) 。(3.00.0.1

  • 新增函数 nssnssPredict,分别用于拟合债券的收益率曲线和预测债券的收益率。(3.00.0.1

  • 新增配置项 enableShellFunction,用于设置是否允许用户调用 shell 函数。默认不允许任何用户调用。(3.00.0.1

  • 新增支持了用于解析 Python 脚本的 Python Parser。Python Parser 集成了 DolphinDB 语法和 Python 语法,在 Python Parser 内可以实现:

    • 解析原生 Python 的数据结构、内置函数和大部分编程语法,包括赋值语法、编程语句、函数定义、列表推导式、类等。

    • 使用 pandas 的 DataFrame 类、Series 类、Index 类(仅支持 SingleIndex),和它们的部分方法。

    • 使用 DolphinDB 数据结构和内置函数。

    • 使用 SQL 的部分功能,包括建库、建表、插入数据、查询数据等。

  • 新增订单簿引擎,用于实时合成指定频率的全档位盘口信息、窗口内统计信息、全天累计统计信息等订单薄数据。也可通过历史逐笔数据来合成需要的订单薄数据。

  • 新增复杂事件处理引擎(CEP引擎),用于从大量的实时事件流中提取有意义的信息,根据事件的内容和发生时间进行关联,并采取相应的行动,具体以下功能:

    • 支持通过 Class 定义事件类型。

    • 支持动态添加多种事件匹配规则, 包括单一事件匹配、按时间触发、限定时间内匹配。

    • 支持自定义事件匹配之后的处理函数。

    • 支持多种事件处理顺序:优先处理指定事件、按事件接收顺序处理。

    • 支持数据视图 DataViewEngine,实时监控 CEP 数据变化。

    • 将事件分发到不同线程并行处理。

  • 为提高与标准 SQL 的兼容性,便于习惯于 SQL 语法的用户更便捷地管理数据库和表,在此版本中新增 Catalog 功能,通过 catalog-schema-table 三层架构,用户可以更有效地查询、管理、组织和使用 DolphinDB 中的数据库和表。有关详情,参考:数据目录

  • 新增 IMOLTP 存储引擎支持将所有数据都存储在内存中,省去磁盘 I/O 的开销;以行存的形式来组织数据,主要适用于 OLTP 的场景,支持创建 B+ 树索引(主键索引和二级索引)来应对高频度、高并发的更新和查询操作。

  • 新增支持实现遗传算法的引擎 GPLearnEngine,可以调用 GPU 进行自动因子挖掘,加快投研效率。

  • DolphinDB 脚本语言(DolphinDBScript )支持 Class。响应式状态引擎支持通过 OOP 模式定义因子。

  • 流计算发布订阅扩展支持 udp 可靠组播模式,优化多订阅端共同订阅单一发布端时的网络带宽使用,从而提升了数据传输效率。

功能改进

  • groupby 函数支持传入元组类型(等长向量)的 groupingCol 。(3.00.0.2
  • sortBy! 函数支持对键值内存表指定排序方向。(3.00.0.2

  • rowGroupby 函数新增参数 ascending,支持设置输出的排序方向。(3.00.0.2

  • fixedLengthArrayVector 函数支持合并固定长度数组向量。(3.00.0.2
  • Shark GPLearn 在计算适应度时支持使用 contextbygroupby 进行数据预处理。(3.00.0.2

  • Shark GPLearn 支持辅助函数:std, stdp, skew, kurtosis, rank。(3.00.0.2

  • createCrossSectionalEngine 增加 keyFilter 参数,用于过滤不满足条件的 key。(3.00.0.2
  • createOrderBookSnapshotEngine优化以下内容:(3.00.0.2

    • 支持上交所逐笔合并数据中的订单状态数据。

    • 撤单类型增加原始委托量的相关字段:WithdrawBuyOrderQtyList, WithdrawSellOrderQtyList。

    • 支持对全部的 exchangeoutputColMap 指定为 genOutputColumnsForOBSnapshotEngine 函数返回的任意字段。

    • 设置 exchange="XSHGFUND" 时只输出 5 开头的分组。

  • 优化了 CEP 引擎匹配时的性能。(3.00.0.2
  • 函数 createGPLearnEngine 新增参数 verbose,用于设置是否输出训练时的信息。(3.00.0.1

  • 函数 createGPLearnEngine 新增参数 minimize,用于设置适应度的优化方向。(3.00.0.1

  • GPLearn 引擎中自定义的适应度函数支持更多辅助函数。(3.00.0.1

  • 优化 replay 函数全速回放异构流表的性能。(3.00.0.1

  • license 函数新增可选参数 read,用于指定是否对 license 文件进行校验。(3.00.0.1

  • createOrderBookSnapshotEngine 的参数 orderBookDetailDepth 支持设置订单簿明细档位。(3.00.0.1

  • genOutputColumnsForOBSnapshotEngine 的参数 orderBookDetailDepth 支持设置输出的订单簿明细档位。(3.00.0.1

  • createPartitionedTablesortKeyMappingFunction 参数支持设置为 hashBucket{, 1}。(3.00.0.1

  • 优化 TSDB 引擎以下场景中的查询效率:对 sort key 使用 in 进行过滤。(3.00.0.1

  • 提升系统安全性,对密码进行加密后存储。(3.00.0.1

故障修复

  • 在 SQL 查询中,如果 interval 函数的第一个参数不是表中的列,可能导致 server 崩溃。(3.00.0.2

  • 函数 mmad 的参数 minPeriods 对前 window 个元素不生效。(3.00.0.2

  • 在 SQL 语句中,如果数据库路径不是字符串,可能导致 server 崩溃。(3.00.0.2

  • 当查询分布式表时,如果 context by 子句包含的列数大于 2,且 csort 包含 context by 的列,结果不正确。(3.00.0.2

  • 在流数据回放时,如果 worker 数远小于分区数,可能会导致回放任务卡住。(3.00.0.2

  • 当 SQL 查询包含 pivot by 子句,且 select/exec 子句包含表达式时,查询报错。(3.00.0.2

  • 从 Amazon S3 上恢复手动上传的备份文件时报错。(3.00.0.2

  • 对键值表使用 sortBy! 排序时,不支持设置参数 sortDirections。(3.00.0.2

  • 对空表进行 SQL 查询时,如果包含 context by 子句,且 select 子句中调用函数 eachPre,则查询报错。(3.00.0.2

  • 在宏变量的元编程中,按分组对多列应用函数模式进行计算,若计算函数为聚合或序列相关函数,则有时结果不正确。(3.00.0.2

  • 表为值分区,且分区列是 STRING 或 SYMBOL,若 where 指定的分区列中含有小数点或其他特殊符号,可能会导致 where 中的等号失效。此为 3.00.0 版本引入的问题。(3.00.0.2

  • 对 select 查询的列调用 join 函数后再进行聚合计算,会出现报错。(3.00.0.2

  • 在 SQL 查询中,moving 高阶函数调用 ols,可能会导致 server 崩溃。(3.00.0.2

  • 订阅流数据写入分布式表时,在 batchSize=1 时,出现 DECIMAL 数据丢失精度。(3.00.0.2

  • createOrderBookSnapshotEngineoutputCodeMap 参数中指定了包含重复值的向量时,导致 server 崩溃。(3.00.0.2

  • 高可用流表场景下,在节点重启时,若流表已完成加载,但 Raft 还未完成初始化,可能导致 server 崩溃。(3.00.0.2

  • 在异步复制中,从集群的 Leader 切换为 Follower 后又重新被选举为 Leader,此时执行 getSlaveReplicationQueueStatus 返回的 executionSet 会显示随机数。(3.00.0.2

  • 对分布式表使用 ej,同时在 where 子句中使用了外部变量,会报错 “Unrecognized column name”。(3.00.0.2

  • CEP 引擎 spawn monitor 时,若 Monitor 中存在 class 类型的成员属性,可能导致 server 崩溃。(3.00.0.2

  • CEP 引擎在 addEventListener 方法中通过参数 condition 指定了 Monitor 中的成员属性时,出现报错:SQL context is not initialized yet. RefId: S02011。(3.00.0.1

  • ARM 版本多线程查询导致 server 崩溃。(3.00.0.1

  • 开启资源跟踪后,对内存表并发执行 selectappend! 操作导致 server 崩溃。(3.00.0.1

  • clearCachedModules 函数在命令行执行不生效。(3.00.0.1

  • wjaggs 参数中使用 head 函数导致 server 崩溃。(3.00.0.1

  • 递归或嵌套调用 JIT 函数,在内部编译失败时,server 发生崩溃。(3.00.0.1

  • 分布式查询的 WHERE 子句中包含生成临时变量的函数调用导致 server 崩溃。(3.00.0.1

  • 在查询中,分析函数无法正确识别多表连接中的列。(3.00.0.1

  • 修复潜在的安全漏洞。(3.00.0.1