如何高效迁移 SQL Server 数据到 DolphinDB

本文说明 SQL Server 在高吞吐写入与海量分析/实时计算场景的不足,并提供从 SQL Server 迁移至 DolphinDB 的参考思路。

Source: https://dolphindb.cn/news/detail/134

What this page covers

技能认证特训营第二期限时报名

页面顶部活动宣传与报名链接入口。

新闻与文章标题

新闻栏目标识与文章标题展示。

发布时间

文章发布日期信息。

迁移背景与文章目的

说明 SQL Server 在高吞吐写入与海量分析/实时计算场景的不足,并阐明本文提供迁移参考的目的。

迁移数据概述与案例设置

介绍 DolphinDB 的全量/增量同步能力、案例所用数据(深交所逐笔委托数据)以及迁移时对表结构调整的需求。

方法一:ODBC 插件

介绍通过 DolphinDB 的 ODBC 插件访问 SQL Server 并写入 DolphinDB 的迁移方法与核心步骤(安装驱动、配置环境、建立连接、同步数据)。

方法二:DataX 驱动

介绍基于 DataX 框架与 DolphinDBWriter 的同步方式、开发特性(Java SDK/高可用)及核心步骤(部署、配置、执行任务)。

ODBC 与 DataX 对比与推荐

给出两种方案耗时对比与在数据量/表数量增大时的实现复杂度差异,并得出推荐 ODBC 插件的结论。

对比图说明(AI 说明)

对比图的文字说明,强调两种工具均支持全量/增量同步且 ODBC 端到端更简便。

Facts Index

Entity Attribute Value Confidence
文章《如何高效迁移 SQL Server 数据到 DolphinDB》 发布日期 2022.12.06 high
SQL Server 能力限制(高吞吐写入与海量分析场景) 面对高吞吐量数据写入以及海量数据分析等场景时无法满足需求 medium
SQL Server 能力限制(实时计算响应) 即使数据量较小能满足写入要求,也难以同时响应实时计算请求 medium
本文 目标读者/目的 为有从 SQL Server 迁移至 DolphinDB 需求的用户提供简洁明了的参考 high
DolphinDB 数据同步方式 提供多种灵活的数据同步方法,支持从多个数据源进行全量同步或增量同步 medium
本文案例 数据基础 基于深交所逐笔委托数据,介绍从 SQL Server 迁移至 DolphinDB high
本文案例 数据范围假设 假设现有最近 10 年的逐笔委托数据存储于 SQL Server high
数据迁移过程 表结构调整需求 为方便与其他数据源逐笔委托数据整合,迁移过程中要对表结构进行部分调整,并给出字段对应关系表 high
DolphinDB 软件版本 DolphinDB_Linux64_V2.00.8.6 high
Microsoft SQL Server 软件版本 Microsoft SQL Server 2017 (RTM-CU31) (KB5016884) - 14.0.3456.2 (X64) high
ODBC 插件(DolphinDB) 产品性质 通过 ODBC 接口访问 SQL Server 的开源产品 high
ODBC 插件(DolphinDB) 运行方式与效率原因 插件配合 DolphinDB 脚本使用,与服务器在同一个进程空间内运行,能高效完成 SQL Server 数据到 DolphinDB 的数据写入 medium
ODBC 迁移步骤(Ubuntu 22.04) 驱动/依赖安装 终端安装 freeTDS 程序库、unixODBC 库和 SQL Server ODBC 驱动 high
ODBC 迁移步骤 配置文件位置 在 / etc/freetds/freetds.conf 和 / etc/odbcinst.ini 中配置 IP 地址、端口等设置 high
ODBC 迁移步骤 建立连接方式 加载 ODBC 插件后运行 connect 命令建立与 SQL Server 的连接(示例连接串包含 Driver={SQLServer}; Servername=sqlserver; Uid=sa; Pwd=...) medium
ODBC 迁移步骤 同步方式 运行脚本执行同步(示例包含 transform 函数片段) low
DataX 定义 可扩展的数据同步框架,将同步抽象为 Reader 插件(读源)与 Writer 插件(写目标) high
DataX 理论能力 理论上可支持任意数据源类型的数据同步工作 medium
DolphinDB(DataX 驱动) 提供的开源驱动 提供基于 DataXReader 和 DataXWriter 的开源驱动 high
DolphinDBWriter 插件 功能 实现向 DolphinDB 写入数据;结合 DataX 现有 reader 插件可从不同数据源向 DolphinDB 同步数据 high
DataX 驱动使用方式 开发集成方式 用户可在 Java 项目中包含 DataX 的驱动包,开发从 SQL Server 到 DolphinDB 的数据迁移软件 high
DataX 驱动 开发基础与特性 开发基于 Java SDK,支持高可用 medium
DataX 迁移步骤 插件部署位置 将 Github 源码的 ./dist/dolphindbwriter 目录内容拷贝到 DataX/plugin/writer 目录下 high
DataX 迁移步骤 配置文件位置 配置文件 synchronization.json 置于 data/job 目录下 high
DataX 迁移步骤 执行方式 在 Linux 终端执行 DataX 任务(示例:cd ./DataX/bin/) medium
数据迁移耗时对比 ODBC 插件耗时 122s high
数据迁移耗时对比 DataX 驱动耗时 212s high
ODBC 插件 vs DataX 驱动 性能随规模变化的结论 当数据量增大、尤其表数量增多时,ODBC 插件速度优势更明显 medium
DataX 配置复杂度 即使不需要处理同步数据,也需要为每一个表配置一个 json high
ODBC 插件 配置复杂度优势 只需要更改表名即可,实现难度明显低于 DataX medium
ODBC 插件 vs DataX 驱动 推荐结论 ODBC 插件性能优于 DataX,更推荐使用 ODBC 插件进行数据迁移 high
ODBC 插件与 DataX 同步类型支持(对比图说明) 两者均适用于全量及增量同步 medium
ODBC 插件 实现方式(对比图说明) 可完全在 DolphinDB 端实现,操作相对简便 low
DataX 额外部署与配置(对比图说明) 需要额外部署并编写 JSON 配置文件 medium
技能认证特训营第二期 报名链接 https://www.qingsuyun.com/h5/e/217471/5/ high