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) - 支持函数
backupSettings
和restoreSettings
,分别用于备份或恢复当前数据库系统中的所有用户、用户权限信息和函数视图。(3.00.0.2) -
新增函数
VaR
和CVaR
,分别用于计算风控指标(VaR)和条件风险指标(CVaR) 。(3.00.0.1) -
新增函数
nss
和nssPredict
,分别用于拟合债券的收益率曲线和预测债券的收益率。(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 在计算适应度时支持使用
contextby
、groupby
进行数据预处理。(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。
-
支持对全部的 exchange 将 outputColMap 指定为
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) -
createPartitionedTable
的 sortKeyMappingFunction 参数支持设置为hashBucket{, 1}
。(3.00.0.1) -
优化 TSDB 引擎以下场景中的查询效率:对 sort key 使用 in 进行过滤。(3.00.0.1)
-
提升系统安全性,对密码进行加密后存储。(3.00.0.1)
故障修复
- [D20-17505] left join 导致偶发的 server 崩溃。(3.00.0.3)
- [D20-17716] 使用
ej
函数对键值内存表进行等值连接的结果错误。(3.00.0.3) - [D20-18554] 控制节点的元数据在极端情况下会出现一个分区路径对应多个 chunkid。(3.00.0.3)
- [D20-18780] 若异步复制任务中存在数据损坏,系统无法跳过该任务而持续重试。(3.00.0.3)
-
在 SQL 查询中,如果
函数的第一个参数不是表中的列,可能导致 server 崩溃。(3.00.0.2)interval
-
函数
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)
-
createOrderBookSnapshotEngine
的 outputCodeMap 参数中指定了包含重复值的向量时,导致 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)
-
开启资源跟踪后,对内存表并发执行
select
和append!
操作导致 server 崩溃。(3.00.0.1) -
clearCachedModules
函数在命令行执行不生效。(3.00.0.1) -
wj
的 aggs 参数中使用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)