一文了解如何使用 DBeaver 管理 DolphinDB

本文介绍在特定版本背景下,如何使用 DBeaver 连接、访问与管理 DolphinDB,并给出配置与操作指引。

Source: https://dolphindb.cn/blogs/143

What this page covers

技能认证特训营第二期正式开启(限时报名)

页面顶部包含技能认证特训营第二期的限时报名提示,并提及报名入口与福利优惠信息。

一文了解如何使用 DBeaver 管理 DolphinDB

文章引言说明将使用 DBeaver 访问与管理 DolphinDB,并给出写作目的与版本背景。

1. DBeaver 简介及安装准备

本节介绍 DBeaver 基本信息、平台与能力范围,并说明与 DolphinDB 配合使用时的版本与 catalog 相关前提。

2. 配置并连接 DolphinDB

本节提供在 DBeaver 中创建连接、配置/更新 DolphinDB JDBC(含离线)、测试连接,以及为 catalog 使用设置驱动参数的步骤要点。

3. DolphinDB Driver 使用案例

本节围绕 DolphinDB Driver 的可用能力给出示例:查看库表结构、查询数据、执行脚本与导出,并包含性能与使用注意点。

4. 小结

本节总结当前 DolphinDB Driver 的基本能力,并说明基于 Generic JDBC 的限制与部分数据类型查看问题,以及后续完善方向。

Facts Index

Entity Attribute Value Confidence
技能认证特训营第二期status正式开启;提供限时报名链接并提到专属福利优惠medium
Articlepublished_date2025-01-13high
Articleauthor_namemomohigh
DBeaverdescription由 Java 编写的一站式跨平台连接器/数据库管理工具;社区版本支持连接近百种数据库medium
DolphinDB 与 DBeaver 团队release发布 DBeaver 24.2.1,新增 DolphinDB 驱动程序,支持在 DBeaver 中访问和管理 DolphinDBhigh
本文适用版本version_basis基于 DBeaver 24.2.1 与 DolphinDB 3.00.0 编写high
本文目的goal指导用户如何通过 DBeaver 连接和操作 DolphinDBhigh
DBeaverlicense开源数据库管理工具high
DBeaverdatabase_support_types支持关系型、时序、图、键值数据库等多种数据库high
DBeavercapabilities数据库连接管理、SQL 编辑器、数据可视化、查询结果导出与分析、数据迁移、结构查看和修改等high
DBeaverplatform_support支持 Mac、Linux、Windowshigh
DolphinDBminimum_version_for_DBeaver>= 3.00.0high
DBeaver with DolphinDBreason_for_minimum_versionDBeaver 使用 JDBC DatabaseMetaData 的 getCatalogs/getSchemas/getColumns 等方法;DolphinDB 2.0 未实现 cataloghigh
DBeaver Communitydownload_and_version_requirement需下载 Community 版;版本需要 >= 24.2.1high
DBeaver 访问 DolphinDB 分布式库表catalog_requirement需纳入 catalog 管理high
createCatalog(catalog)function_purpose创建 catalog(示例:createCatalog("test") 创建 catalog test)high
createSchema(catalog, dbUrl, schema)function_purpose把已有的数据库添加到指定的 catalog/schema(示例:createSchema("catalog1", "dfs://db1", "schema1"))high
DBeaver 连接 DolphinDBrequired_connection_fields主机、端口、用户名、密码等基本连接信息high
DBeaver 测试连接jdbc_driver_download_behavior本地没有 DolphinDB JDBC 驱动时会自动从互联网下载high
连接失败排查items_to_check检查 IP、端口、用户名、密码及防火墙high
离线环境 JDBC 配置driver_download_requirement可手动下载 DolphinDB JDBC(版本 >= 3.00.1.0),选择 jar-with-dependencies 后缀 jar 包并手动添加high
DBeaver 添加/更新 DolphinDB JDBCprocedure连接设置页面:编辑驱动设置 → 库 → 添加文件,添加已下载 jar;也可用此方式更新 JDBC 版本high
更新 DolphinDB JDBC 版本benefit更新版本的 JDBC 会实现更多接口,使 DBeaver DolphinDB Connector 可使用更多功能medium
DBeaver DolphinDB 驱动属性set_active_database_value高级参数 → Queries → Set active database 填入:use catalog ?high
DBeaver 连接名称config_option在常规→连接名称可设置具有辨识度的名称以管理多个数据库high
DolphinDB Driversupported_functions_list查看分布式库表结构、查询数据、执行 DolphinDB 脚本、导出分布式库表数据high
查看分布式库表结构catalog_requirement分布式库表需要纳入 catalog 管理high
示例脚本(建库建表)actions示例包含 login、createCatalog("trading")、use catalog trading、创建 database stock(TSDB 引擎,VALUE+HASH 分区)、创建表 stock.trade(按 date,symbol 分区,sortColumns=["symbol","timestamp"])high
DBeaver 查看新建库表procedure执行成功后右键 DolphinDB 连接 → Refresh 查看新建库表信息high
示例脚本(写入数据)actions生成 n=10000 的样例数据(date/time/timestamp/price/volume/symbol)并 tableInsert(stock.trade, data)high
createSchemause_case可通过 createSchema 将已有 DFS 表加入到某个 schema 中high
DBeaver “查看表→数据” 对 DFS 表performance_behavior会对 DFS 表进行逻辑分页查询,执行全表扫描并在 DBeaver 进程中缓存数据;不建议对 DFS 表使用该选项high
SQL 查询示例query对 stock.trade 按 symbol、date、bar(time,5*60*1000) 分组,计算 open/high/low/close/volume(first/max/min/last/sum)high
当前 DolphinDB Driver(DBeaver Generic JDBC 连接器)pagination_behavior分页查询采用逻辑分页:DBeaver 会从 DolphinDB 查询所有结果并缓存到 DBeaver 内存high
大结果集查询risk避免查询大量数据或未用 TOP/LIMIT 限制,否则可能导致 “Java heap out of memory” 或卡死high
DBeaver 生成查询 SQLprocedure右键表名 → 生成 SQL → SELECT 自动生成查询 SQLhigh
DBeaver 执行 DolphinDB 脚本capability除 SQL 外支持在编辑器执行脚本语句,用于简单数据分析或运维工作high
矩阵计算示例script对聚合结果做 matrix(...).svd() 并查看 shigh
集群运维示例scriptgetSessionMemoryStat(), clearAllCache(), setMaxConnections(1024)high
DBeaver 脚本执行结果展示behavior根据 execute 返回值 true/false 处理;无返回结果的语句不会展示变量值,需要运行变量(如 s)查看high
批量执行多行脚本procedure需要点击指定按钮以批量执行多行脚本medium
导出数据至 CSVprocedure右键表 → 导出数据;通常按向导默认设置点 Next 完成导出high
本文内容覆盖scope介绍通过 DBeaver 连接 DolphinDB,并查看库表结构、读取数据、编写脚本等操作high
目前 DolphinDB Drivercapability_level实现基本使用功能,可满足查看库表结构、查询数据、编写脚本需求medium
基于 Generic JDBC 的连接器实现limitations_example某些类型的变量无法直接查看;原因与 JDBC ResultSet 将返回定义为表有关high
JDBC ResultSet 注释引用definition_quote“A table of data representing a database result set, which is usually generated by executing a statement that queries the database.”high
DolphinDB JDBCwrapping_behavior对冲突做了一定程度包装:将 scalar、vector、matrix 包装为一个表high
dict 结构support_status_in_DolphinDB_Driver目前不支持 dict 结构的包装,因此无法查看 dict 类型数据high
后续版本计划roadmap将进一步完善 DolphinDB Driver 功能,提升用户体验low