dolphindb 维度表
2026/7/25 3:51:53
网站开发
DolphinDB 中的维度表是分布式数据库中无分区的表类型专用于存储小体量、低频更新的参考数据如设备档案、产品规格查询时全量加载至内存以加速关联计算 。核心定义与特征存储机制位于分布式文件系统DFS中但不进行数据分区查询触发时自动将全表载入内存缓存后续访问直接读内存。适用场景存储主数据/字典表如股票代码映射、车间信息、参数配置数据量通常较小建议百万行以内更新频率低。性能特点支持LEFT JOIN高效打宽流表或事实表首次加载有 I/O 开销之后近乎零延迟若数据持续增长未清理可能导致内存膨胀 。限制不支持分区裁剪并发写入需配置enableConcurrentDimensionalTableWrite旧版本重启后缓存不自动释放需手动清理 。创建与操作语法函数创建使用createDimensionTable基于内存表模板创建。db database(dfs://my_db, VALUE, 1..10) # 先建库 schema table(1:0, idnamecategory, [INT, STRING, STRING]) dimTable db.createDimensionTable(schema, device_info, sortColumnsid) dimTable.tableInsert(values) # 写入数据SQL 创建CREATE TABLE dfs://my_db.device_info (id INT, name STRING, category STRING) SORT COLUMNSid加载与查询直接loadTable或 SQLSELECT系统自动管理内存缓存 。注意事项数据规模严禁存储海量数据否则全量加载会耗尽节点内存OOM。缓存管理若数据变更频繁或量变大需监控内存使用必要时调用clearCashedDatabase()强制释放 。关联用法常与流表streamTable或分区事实表配合通过left join实现实时数据 enrichment打宽。