当前位置:主页 > 查看内容

只需五步!将数据仓库从 Redshift迁移到阿里云AnalyticDB for PG

发布时间:2021-04-20 00:00| 位朋友查看

简介:阿里云AnalyticDB for PostgreSQL 以下简称 ADB PG 即原HybridDB for PostgreSQL 为基于PostgreSQL内核的MPP架构的实时数据仓库服务 可以支持复杂ETL任务 也支持高性能在线查询 同阿里云生态紧密结合。 AWS 的Redshift同样为基于PostgreSQL内核引擎的MPP数据……

阿里云AnalyticDB for PostgreSQL 以下简称 ADB PG 即原HybridDB for PostgreSQL 为基于PostgreSQL内核的MPP架构的实时数据仓库服务 可以支持复杂ETL任务 也支持高性能在线查询 同阿里云生态紧密结合。


AWS 的Redshift同样为基于PostgreSQL内核引擎的MPP数据仓库服务器 在AWS被广泛作为数据仓库使用。ADB PG和Redshift从架构到语法上同Redshift高度兼容。本文重点介绍两个数仓平台如何进行迁移。

image.png

产品架构比较

阿里云AnalyticDB for PostgreSQL最新版本 6.0 基于PostgreSQL 9.4构建 Redshift 基于PostgreSQL 8.2版本 相对ADB PG的功能要更加全面 且全面兼容PostgreSQL生态的工具 包括PostGIS MADlib等扩展分析。Redshift 只支持列存表 而不支持PostgreSQL原生的行存表 而ADB PG即保留了PostgreSQL行存表支持 实现高吞吐的数据更新操作 也支持面向OLAP大表聚合操作的列存表。

AnalyticDB for PG 与 Redshift的比较

image.png

关键语法比较及迁移

阿里云AnalyticDB for PostgreSQL与AWS Redshift都基于单机PostgreSQL内核引擎 故语法高度兼容 部分语法描述略有差异如下。

DDL建表语法差异

image.png

语法指南

ADB PG建表指南??

https://help.aliyun.com/document_detail/118150.html

Redshift建表指南??

https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_NEW.html

DDL转换示例1

Redshift 建表语句 包含分布键DISTKEY和排序列

CREATE TABLE schema1.table1(
 filed1 VARCHAR(100) ENCODE lzo,
 filed2 INTEGER DISTKEY,
 filed3 INTEGER,
 filed4 BIGINT ENCODE lzo,
 filed5 INTEGER,)
INTERLEAVED SORTKEY (
 filed1,
 filed2);

ADB PG建表语句


CREATE TABLE schema1.table1
 filed1 VARCHAR(100) ,
 filed3 INTEGER,
 filed5 INTEGER
WITH(APPENDONLY true,ORIENTATION column,COMPRESSTYPE zlib)
DISTRIBUTED BY (filed2)
SORTKEY
 filed1,
 filed2
)
DDL转换示例2

Redshift 建表语句 包含ENCODE和SORTKEY选项

CREATE TABLE schema2.table2
 filed1 VARCHAR(50) ENCODE lzo,
 filed2 VARCHAR(50) ENCODE lzo,
 filed3 VARCHAR(20) ENCODE lzo,
DISTSTYLE EVEN
INTERLEAVED SORTKEY
 filed1
); 
ADB PG建表语句
CREATE TABLE schema2.table2(
 filed1 VARCHAR(50),
 filed2 VARCHAR(50),
 filed3 VARCHAR(20))
WITH(APPENDONLY true, ORIENTATION column, COMPRESSTYPE zlib)
DISTRIBUTED randomly
SORTKEY
 filed1
); 
数据迁移

Redshift和ADB PG均支持从云存储的告诉并行数据导入和导出。从Redshift迁移数据到AnalyticDB for PostgreSQL包含如下步骤

资源和环境准备 执行操作前需提前准备Amazon Redshift、Amazon S3 Amazon Simple Storage Service 、AnalyticDB for PostgreSQL和阿里云对象存储服务 OSS 的相关资源。将Redshift的数据导入到Amazon S3中。使用OSSImport将Amazon S3中CSV格式的数据文件导入到OSS。在目标AnalyticDB for PostgreSQL中创建和源Redshift对应的对象 包括模式 Schema 、表 Table 、视图 View 和函数 Function 。使用OSS外部表将数据导入到AnalyticDB for PostgreSQL。

整体迁移路径如下

image.png



本文转自网络,原文链接:https://developer.aliyun.com/article/783646
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:AnalyticDB向量检索+AI 实战: 声纹识别 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐