数据库
创建数据库和数据表时,除了直接指定函数参数进行配置,DolphinDB 还提供了一部分配置文件中的配置项:
数据库
配置参数 |
解释 |
---|---|
enableChunkGranularityConfig=false |
DolphinDB 内 chunk 的粒度决定了事务锁的位置。写入一个 chunk 时,系统会对该 chunk 上锁,不允许其他事务写入。 2.00.4之前的版本,chunk 的粒度为数据库级别,即数据库的每个分区(partition)为一个 chunk。此时,不允许并发写入同一个分区的不同表。 2.00.4版本引入了该配置项,默认为 false,表示 chunk 的粒度为表级别,即每个分区(partition)下的每个表为一个 chunk。此时,允许并发写入同一分区的不同表。 设置为 true 时,允许通过 database 的 chunkGranularity 参数指定 chunk 的粒度为数据库级或表级。 |
enableDropPartitionSchema=false |
布尔值,默认为 false,表示删除数据库中指定分区的数据时,是否删除分区数据对应的数据库结构信息中 partitionSchema。 仅在满足以下条件时开启该功能才能生效: 1. 数据库只包含一个表; 2. 单级分区时采用 VALUE 分区,且分区字段为 STRING/SYMBOL;或多级分区的第一级为 VALUE 分区,且分区字段为 STRING/SYMBOL; 3. dropPartition 仅删除第一级分区数据。 |
newValuePartitionPolicy=skip |
对于值分区(或复合分区中的值分区)的数据库,若新增数据不属于已有分区,如何处理。它的取值可以是 add, skip 和 fail。 默认值是 skip,表示如果新增数据中包含分区方案外的数据,系统会保留分区方案中的数据,不保留分区方案外的数据。 如果 newValuePartitionPolicy = add,表示系统会自动划分新的分区,保留分区方案外的数据。 如果 newValuePartitionPolicy = fail,表示如果新增数据中包含分区方案外的数据,系统不会保留任何数据,且抛出异常。 根据大多数场景需求,推荐设置 newValuePartitionPolicy = add。 |
2.00.7 新版功能: 参数 enableDropPartitionSchema
数据表
配置参数 |
解释 |
---|---|
enableConcurrentDimensionalTableWrite=false |
是否允许维度表并发写入、修改、删除。默认值为 false。若为 true,表示允许维度表并发写入、修改、删除。 |
removeSpecialCharInColumnName=false |
是否规范化包含特殊符号的列名,默认值是 false,表示自动产生的数据表的列名允许包含特殊符号,即列名可以以非字母和中文开头,且可以包含下划线之外的符号。如果要跟以前版本兼容,可以将该变量配置为 true。 |
2.00.1 新版功能: 参数 enableConcurrentDimensionalTableWrite
2.00.2 新版功能: 参数 removeSpecialCharInColumnName