700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 如何将数据仓库从 AWS Redshift 迁移到阿里云 AnalyticDB for PostgreSQL

如何将数据仓库从 AWS Redshift 迁移到阿里云 AnalyticDB for PostgreSQL

时间:2024-06-06 15:46:22

相关推荐

如何将数据仓库从 AWS Redshift 迁移到阿里云 AnalyticDB for PostgreSQL

阿里云AnalyticDB for PostgreSQL(以下简称 ADB PG,即原HybridDB for PostgreSQL)为基于PostgreSQL内核的MPP架构的实时数据仓库服务,可以支持复杂ETL任务,也支持高性能在线查询,同阿里云生态紧密结合。AWS 的Redshift同样为基于PostgreSQL内核引擎的MPP数据仓库服务器,在AWS被广泛作为数据仓库使用。ADB PG和Redshift从架构到语法上同Redshift高度兼容。本文重点介绍两个数仓平台如何进行迁移。

产品架构比较

阿里云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的比较

关键语法比较及迁移

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

DDL建表语法差异

语法指南

ADB PG建表指南

Redshift建表指南

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 EVENINTERLEAVED 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 randomlySORTKEY(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。

整体迁移路径如下:

原文链接

本文为阿里云原创内容,未经允许。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。