阿里云AnalyticDB for PostgreSQL(以下简称 ADB PG,即原HybridDB for PostgreSQL)是一款基于PostgreSQL内核的MPP架构的实时数据仓库服务。它可以支持复杂的ETL任务,同时也支持高性能的在线查询。与此同时,它还与阿里云生态紧密结合。AWS 的Redshift同样是一款基于PostgreSQL内核引擎的MPP数据仓库服务器,在AWS被广泛使用作为数据仓库。ADB PG和Redshift在架构和语法上高度兼容。本文重点介绍如何将数据仓库从Redshift迁移到ADB PG。
阿里云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 PostgreSQL与AWS Redshift都基于单机PostgreSQL内核引擎,故语法高度兼容,部分语法描述略有差异。
以下是ADB PG和Redshift建表语法的示例对比:
Redshift 建表语句,包含分布键DISTKEY和排序列:
```sql
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建表语句:
```sql
CREATE?TABLE?schema1.table1(????filed1?VARCHAR(100)?,????filed3?INTEGER,????filed5?INTEGER)WITH(APPENDONLY=true,ORIENTATION=column,COMPRESSTYPE=zlib)DISTRIBUTED?BY?(filed2)SORTKEY(????filed1,????filed2)
```
Redshift 建表语句,包含ENCODE和SORTKEY选项:
```sql
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建表语句:
```sql
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包含如下步骤:
1. 资源和环境准备,执行操作前需提前准备Amazon Redshift、Amazon S3(Amazon Simple Storage Service)、AnalyticDB for PostgreSQL和阿里云对象存储服务(OSS)的相关资源。
2. 将Redshift的数据导入到Amazon S3中。
3. 使用OSSImport将Amazon S3中CSV格式的数据文件导入到OSS。
4. 在目标AnalyticDB for PostgreSQL中创建和源Redshift对应的对象,包括模式(Schema)、表(Table)、视图(View)和函数(Function)。
5. 使用OSS外部表将数据导入到AnalyticDB for PostgreSQL。
整体迁移路径如下:
AnalyticDB for PostgreSQL 6.0
正式商业化!
首月体验仅需1元
AnalyticDB for PostgreSQL 商业化
快来体验吧!