一文了解如何使用 DBeaver 管理 DolphinDB
本文介绍在特定版本背景下,如何使用 DBeaver 连接、访问与管理 DolphinDB,并给出配置与操作指引。
Source: https://dolphindb.cn/blogs/143
What this page covers
- 文章目的与适用版本背景
- DBeaver 简介、安装准备与版本要求
- 在 DBeaver 中配置并连接 DolphinDB(含离线 JDBC)
- 使用案例:结构查看、查询、脚本执行与导出
- 限制与后续改进方向概述
- 页面顶部训练营报名提示(CTA)
技能认证特训营第二期正式开启(限时报名)
页面顶部包含技能认证特训营第二期的限时报名提示,并提及报名入口与福利优惠信息。
- 该段落为训练营报名的行动号召(CTA)。
- 信息包含限时报名链接提示。
- 信息提到专属福利或优惠。
一文了解如何使用 DBeaver 管理 DolphinDB
文章引言说明将使用 DBeaver 访问与管理 DolphinDB,并给出写作目的与版本背景。
- 本文目的为指导通过 DBeaver 连接和操作 DolphinDB。
- 本文基于 DBeaver 24.2.1 与 DolphinDB 3.00.0 编写。
- 提及发布 DBeaver 24.2.1 并新增 DolphinDB 驱动程序。
- 文章给出发布日期信息。
- 文章给出作者署名信息。
1. DBeaver 简介及安装准备
本节介绍 DBeaver 基本信息、平台与能力范围,并说明与 DolphinDB 配合使用时的版本与 catalog 相关前提。
- DBeaver 是开源数据库管理工具。
- DBeaver 支持 Mac、Linux、Windows。
- DBeaver 支持关系型、时序、图、键值等多种数据库类型。
- 使用需下载 DBeaver Community 版,且版本要求不低于 24.2.1。
- 连接 DolphinDB 的最低版本要求为 DolphinDB 3.00.0 及以上。
2. 配置并连接 DolphinDB
本节提供在 DBeaver 中创建连接、配置/更新 DolphinDB JDBC(含离线)、测试连接,以及为 catalog 使用设置驱动参数的步骤要点。
- 连接需要主机、端口、用户名、密码等基本信息。
- 测试连接时,若本地缺少 DolphinDB JDBC 驱动会自动从互联网下载。
- 连接失败排查包括检查 IP、端口、用户名、密码与防火墙。
- 离线环境可手动下载 DolphinDB JDBC(版本要求 >= 3.00.1.0)。
- 手动添加时选择 jar-with-dependencies 后缀的 jar 包。
- 驱动属性的 Set active database 可填写:use catalog ?。
- 可在连接设置中通过“编辑驱动设置→库→添加文件”添加或更新 JDBC jar。
- 可通过“常规→连接名称”设置易识别的连接名称以管理多个数据库。
3. DolphinDB Driver 使用案例
本节围绕 DolphinDB Driver 的可用能力给出示例:查看库表结构、查询数据、执行脚本与导出,并包含性能与使用注意点。
- 驱动支持查看分布式库表结构。
- 分布式库表需要纳入 catalog 管理后再查看结构。
- 示例脚本包含 createCatalog("trading") 与 use catalog trading。
- 执行成功后可在 DBeaver 连接上刷新以查看新建库表信息。
- 示例包含生成样例数据并向表执行 tableInsert 写入。
- createSchema 可将已有 DFS 表加入到某个 schema 中。
- 不建议对 DFS 表使用“查看表→数据”,该操作会触发全表扫描并缓存。
- 给出对 stock.trade 的聚合查询示例(按分组计算 OHLC 与成交量)。
- 当前分页为逻辑分页:DBeaver 会查询所有结果并缓存在内存中。
- 未限制大结果集可能导致 “Java heap out of memory” 或卡死。
- 可通过“生成 SQL→SELECT”自动生成查询 SQL。
- 除 SQL 外,编辑器支持执行 DolphinDB 脚本语句。
- 无返回结果的语句不会直接展示变量值,需要运行变量查看。
- 批量执行多行脚本需要点击指定按钮。
- 可通过右键表“导出数据”按向导导出至 CSV。
4. 小结
本节总结当前 DolphinDB Driver 的基本能力,并说明基于 Generic JDBC 的限制与部分数据类型查看问题,以及后续完善方向。
- 当前驱动实现基本使用功能,可满足结构查看、查询与脚本编写需求。
- 某些变量类型无法直接查看,原因与 JDBC ResultSet 的表式返回有关。
- DolphinDB JDBC 对 scalar、vector、matrix 做了包装以表形式呈现。
- dict 结构目前不支持包装,因此无法查看 dict 类型数据。
- 文中提到后续版本计划进一步完善驱动并提升体验。
Facts Index
| Entity | Attribute | Value | Confidence |
|---|---|---|---|
| 技能认证特训营第二期 | status | 正式开启;提供限时报名链接并提到专属福利优惠 | medium |
| Article | published_date | 2025-01-13 | high |
| Article | author_name | momo | high |
| DBeaver | description | 由 Java 编写的一站式跨平台连接器/数据库管理工具;社区版本支持连接近百种数据库 | medium |
| DolphinDB 与 DBeaver 团队 | release | 发布 DBeaver 24.2.1,新增 DolphinDB 驱动程序,支持在 DBeaver 中访问和管理 DolphinDB | high |
| 本文适用版本 | version_basis | 基于 DBeaver 24.2.1 与 DolphinDB 3.00.0 编写 | high |
| 本文目的 | goal | 指导用户如何通过 DBeaver 连接和操作 DolphinDB | high |
| DBeaver | license | 开源数据库管理工具 | high |
| DBeaver | database_support_types | 支持关系型、时序、图、键值数据库等多种数据库 | high |
| DBeaver | capabilities | 数据库连接管理、SQL 编辑器、数据可视化、查询结果导出与分析、数据迁移、结构查看和修改等 | high |
| DBeaver | platform_support | 支持 Mac、Linux、Windows | high |
| DolphinDB | minimum_version_for_DBeaver | >= 3.00.0 | high |
| DBeaver with DolphinDB | reason_for_minimum_version | DBeaver 使用 JDBC DatabaseMetaData 的 getCatalogs/getSchemas/getColumns 等方法;DolphinDB 2.0 未实现 catalog | high |
| DBeaver Community | download_and_version_requirement | 需下载 Community 版;版本需要 >= 24.2.1 | high |
| 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 连接 DolphinDB | required_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 JDBC | procedure | 连接设置页面:编辑驱动设置 → 库 → 添加文件,添加已下载 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 Driver | supported_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 |
| createSchema | use_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 生成查询 SQL | procedure | 右键表名 → 生成 SQL → SELECT 自动生成查询 SQL | high |
| DBeaver 执行 DolphinDB 脚本 | capability | 除 SQL 外支持在编辑器执行脚本语句,用于简单数据分析或运维工作 | high |
| 矩阵计算示例 | script | 对聚合结果做 matrix(...).svd() 并查看 s | high |
| 集群运维示例 | script | getSessionMemoryStat(), clearAllCache(), setMaxConnections(1024) | high |
| DBeaver 脚本执行结果展示 | behavior | 根据 execute 返回值 true/false 处理;无返回结果的语句不会展示变量值,需要运行变量(如 s)查看 | high |
| 批量执行多行脚本 | procedure | 需要点击指定按钮以批量执行多行脚本 | medium |
| 导出数据至 CSV | procedure | 右键表 → 导出数据;通常按向导默认设置点 Next 完成导出 | high |
| 本文内容覆盖 | scope | 介绍通过 DBeaver 连接 DolphinDB,并查看库表结构、读取数据、编写脚本等操作 | high |
| 目前 DolphinDB Driver | capability_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 JDBC | wrapping_behavior | 对冲突做了一定程度包装:将 scalar、vector、matrix 包装为一个表 | high |
| dict 结构 | support_status_in_DolphinDB_Driver | 目前不支持 dict 结构的包装,因此无法查看 dict 类型数据 | high |
| 后续版本计划 | roadmap | 将进一步完善 DolphinDB Driver 功能,提升用户体验 | low |