dolphindb 分布式表

发布时间:2026/7/25 5:22:49
dolphindb 分布式表 DolphinDB 分布式表是存储在分布式文件系统DFS中、数据按分区策略分散在多节点磁盘上的持久化表支持 PB 级海量数据存储与自动并行计算 。‌‌核心定义与特点‌存储机制‌数据落盘持久化分布在不同数据节点的磁盘上通过dfs://路径标识逻辑上统一访问物理上分片存储。‌关键优势‌水平扩展至 PB 级容量、多副本高可用、查询自动触发 MapReduce 并行计算、支持事务 ACID 特性v1.30.6。‌适用场景‌海量时序数据如 IoT、金融行情、需长期持久化且单节点内存无法承载的大规模数据分析。‌‌创建与管理流程‌创建分布式数据库‌使用database()函数指定dfs://路径及分区方案RANGE/VALUE/HASH/COMPO。db database(dfs://my_db, COMPO, [RANGE, 2024.01.01..2024.12.31, HASH, [INT, 10]])‌定义表结构并建表‌基于内存表 Schema 调用createPartitionedTable分区表或createDimensionTable维度表。schema table(1:0, tsdevice_idvalue, [TIMESTAMP, SYMBOL, DOUBLE]) pt db.createPartitionedTable(schema, sensor_data, tsdevice_id)‌数据写入‌通过append!批量追加、流表订阅subscribeTable或loadTextEx导入文件。pt.append!(dataTable) // 或流式写入subscribeTable(..., handlertableInsert{loadTable(dfs://my_db, sensor_data)})‌查询访问‌使用loadTable加载元数据后直接执行 SQL系统自动进行分区裁剪与分布式计算。t loadTable(dfs://my_db, sensor_data) select avg(value) from t where ts 2024.01.01 group by device_id ‌‌:ml-citation{ref1,8 appearanceaggregated datacitationList}关键设计原则‌分区策略‌推荐复合分区COMPO通常第一层按时间VALUE/RANGE便于裁剪第二层按业务键HASH均衡负载单分区数据量建议控制在 1-10GB。‌查询优化‌必须携带分区列条件如时间范围以触发‌分区裁剪‌避免全表扫描列式存储下仅查询必要列。‌更新支持‌支持update、sqlUpdate及upsert!操作基于 MVCC 实现快照隔离但需注意 TSDB 引擎更新时的内存消耗 。‌‌与内存表区别特性内存表分布式表‌存储位置‌单节点内存多节点磁盘 (DFS)‌数据持久性‌重启丢失自动持久化‌容量限制‌受内存大小限制PB 级扩展‌计算模式‌单机串行/并行自动分布式 MapReduce‌主要用途‌实时计算、中间结果海量历史数据存储与分析

相关新闻

最新新闻

日新闻

周新闻

月新闻