登录 注册 返回主站
F10资料 推荐产品 炒股必读

从 Redshift 迁移数据到 DolphinDB

  • 作者:ghjk84
  • 2023-01-06 17:19:22
  • 分享:

AWS Redshift 是最早的云数据仓库之一,为用户提供完全托管的 PB 级云中数据仓库服务。用户可以使用标准 SQL 和现有的商业智能工具,经济高效地进行数据分析。但 AWS Redshift 上手难度较大,对知识储备要求较高,设计和优化相当复杂。作为云数据仓库,AWS Redshift 没有本地仓库操作快速便捷。

DolphinDB 是一款国产的高性能分布式时序数据库产品,其综合解决方案具有卓越的性能优势和低维护成本优势。客户无需集成不同供应商的多个系统,极大地降低了大数据管理和分析系统的综合成本。

与 AWS Redshift 相比,DolphinDB 具有以下优势

操作简单,可扩展性强。具有良好的容错能力及优异的多用户并发访问能力。

部署灵活。可在 Linux 或 Windows 环境、本地或云端、终端设备或服务器上部署。

易于上手。DolphinDB 提供了丰富的文档和用户手册,且有专业技术支持团队在线解答,方便用户快速上手。

本文旨在为有从 Redshift 迁移数据到 DolphinDB 需求的用户提供一份简明的教程参考。


1. 应用需求

AWS Redshift 2013年上线以来,凭借着使用各种创新技术,以快速、成本低、安全和兼容等优势吸引了大量用户。对于大小在 100 GB 到 1 PB 或更高的数据集,拥有很高的查询性能。具有很高的可扩展性,仅需在 AWS 管理控制台中点击几次即可完成配置扩展。对于金融大数据领域,Redshift 有大规模并行处理(MPP)架构,MPP 可以通过将数据分布到各个计算节点来解决海量数据的处理难题,并通过并发扩展与弹性调整处理突发工作负载。

与 Redshift 相比,2018年初发布的 DolphinDB,作为一款国产的高性能分布式数据库产品,凭借功能强大的编程语言和高容量高速度的流数据分析系统,能在满足低延时高吞吐量数据读写的要求的同时,轻松实现因子挖掘、流式计算、股票行情回放、实时计算高频因子等功能,成为国内大部分金融机构的首选方案。如今,如何将数据从其他数据库迁移同步到 DolphinDB 上成为大部分用户面临的一大难题。


2. 实现方法

DolphinDB 的 ODBC (Open Database Connectivity) 插件可帮助用户方便快速地将数据导入,从而实现从 Redshift 迁移数据到 DolphinDB。

ODBC 插件是 DolphinDB 提供的通过 ODBC 接口访问 Redshift 的开源产品。插件配合 DolphinDB 脚本使用,与服务器在同一个进程空间内运行,可以高效快速地完成从 Redshift 导入数据到 DolphinDB。

ODBC 提供了如下函数,函数的具体使用请参考 ODBC

下表展示了 ODBC 与 DolphinDB 中数据类型的映射关系。

本文中的实践案例利用 ODBC 插件迁移数据,选择了金融领域具有代表性的深交所数据作为数据源,提供了3日的逐笔成交数据(约3亿数据量),储存于 Redshift 中,真实地模拟用户情况。数据迁移过程中,要注意数据类型的转换,下表提供了从 Redshift 到 DolphinDB 相应表结构数据类型。

3. 迁移步骤


3.1 环境配置

本次案例中使用了以下数据库及插件,各版本型号如下

Redshift 版本国际版 us-west-2区

unixODBC 版本2.3.1

DolphinDB Serve 版本2.00.8.7

DolphinDB GUI 版本1.30.20.1

2.00.8.7 版本 Server 自带 ODBC 插件,位于 Server 的 <HomeDir>/plugins 目录,可直接加载使用。如果 <HomeDir>/plugins 目录下不存在 ODBC 文件夹,则通过如下链接下载

DolphinDB ODBC 插件 版本2.00.8

请注意,DolphinDB ODBC 插件版本号必须与 Server 版本号一致,否则可能出现报错。例如,DolphinDB Server 版本号为 2.00.8.X,则必须使用 release200.8 分支的 ODBC 插件。

3.2 ODBC 配置

3.2.1 安装 ODBC

终端输入以下命令安装 ODBC 库

期望输出

可以查看到 ODBC 驱动路径(/etc/odbcinst.ini)和系统数据源路径(/etc/odbc.ini)


3.2.2 安装 Redshift.ODBC 驱动

Redshift 配置 ODBC 连接可参考配置 ODBC 连接

下载 ODBC 驱动到本地

Ubuntu 选择 Linux 操作系统 64 位 (.deb),CentOS 选择 Linux 操作系统 64 位 (.deb)

2. 安装 ODBC 驱动

在终端输入以下语句进行安装

安装成功后,会在 /opt/amazon/redshiftodbc/Setup 下生成两个配置文件 odbc.ini 和 odbcinst.ini

将这两个文件复制到上文中提到的 ODBC 驱动路径 /etc/odbcinst.ini 和 /etc/odbc.ini

3. ODBC URL 配置

复制 ODBC URL 将其添加到 /etc/odbc.ini 文件中

4. 数据库安全组开放

预设情况下,用户创建的任何集群对所有人关闭。IAM 凭证仅控制对 Amazon Redshift API 相关资源的访问 AWS Redshift 控制台、命令行界面 (CLI)、API 和开发工具包。要能够通过 JDBC 或 ODBC 从 SQL 客户端工具访问集群,用户可以使用安全组。

将安全组的 inbound 规则设置如下,开放5439端口给外部。

编辑集群的属性,修改网络和安全设置,设置 VPC 安全组为刚才创建的安全组,并启用可公开访问。

5. 验证 ODBC 连接成功

在终端输入以下命令(使用数据库的实际登录息)

期望返回

3.3 利用 DolphinDB 脚本同步数据

1. 运行以下命令加载 ODBC 插件

2. 创建 DolphinDB 相应的分区表

3. 运行以下命令建立与 Redshift 的连接

4. 运行以下脚本将数据迁移到 DolphinDB 中

最终迁移3亿条数据,耗时仅为1610秒。该迁移案例测试的硬件环境为

CPU11th Gen Inter(R) Core(TM) i5-11500 @2.70GHz

处理器个数12 个

单个处理器核数6 核

内存大小32 GB

网络传输速率21508 MiB/s

5. 查看表中数据


4. 总结

本教程基于深交所3日逐笔成交数据,为大家介绍了如何将 Redshift 中的数据导入到 DolphinDB 中,DolphinDB 提供了 ODBC 插件,可以方便快捷地将数据进行导入。

DolphinDB 具有强大的金融数据处理能力,包含丰富的预定义函数功能,以及具备自带的持久化数据存储。既有非常高的吞吐量,又有较低的延时;既能够实时处理流数据,又能够处理海量的历史数据;既能满足简单的点查询的要求,又能满足批量数据复杂分析的要求。本教程中的数据迁移模拟操作充分地显示了 DolphinDB 的这些优势。

附录

完整脚本


温馨提醒:用户在赢家聊吧发表的所有资料、言论等仅代表个人观点,与本网站立场无关,不对您构成任何投资建议。本文中出现任何联系方式与本站无关,谨防个人信息,财产资金安全。
点赞0
发表评论
输入昵称或选择经常@的人
聊吧群聊

添加群

请输入验证信息:

你的加群请求已发送,请等候群主/管理员验证。

时价预警 查看详情>
  • 江恩支撑:10.31
  • 江恩阻力:11.6
  • 时间窗口:2024-06-29

数据来自赢家江恩软件>>

本吧详情
吧 主:

虚位以待

副吧主:

暂无

会 员:

19人关注了该股票

功 能:
知识问答 查看详情>