如何将数据仓库从 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的比较

功能项目ADB PGRedshift
PostgreSQL版本PG 9.4PG 8.2
SQL语法兼容PG,部分兼容Oracle语法兼容PG
事务支持支持
行存储支持不支持
列存储支持支持
表分区支持支持
云存储支持OSS数据在线访问支持S3数据在线访问
多模分析PostGIS/MADLib/向量检索 

关键语法比较及迁移

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

DDL建表语法差异

语法RedshiftADB PG
表Hash分布DISTKEY(col)DISTRIBUTED BY(col)
表随机分布DISTSTYLE EVENDISTRIBUTED RANDOMLY
表复制分布DISTSTYLE ALLDISTRIBUTED REPLICATED
数据编码压缩AZ64/BYTEDICT/DELTA/LZO/RAW/RUNLENGTH/ZSTD(COMPRESSTYPE={ZStD/ZLIB/QUICKLZ/RLE_TYPE/NONE})
列存排序键SORTKEY (col)with(APPENDONLY=true,ORIENTATION=column)sortkey (volume)
系统函数PG8.2及部分自定义函数PG9.4及部分自定义函数

语法指南

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 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包含如下步骤:

  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。

整体迁移路径如下:


原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/516951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开源项目如何挣钱? Spark 商业化公司创始人曝光心路历程

众所周知,开源项目对软件发展来说至关重要,但仍有人认为用开源项目来赚钱是对开源项目的一种亵渎。HashiCorp联合创始人兼 CTO Armon Dadgar、Databricks CEO Ali Ghodsi 和 a16z 的普通合伙人 Peter Levine 齐聚一堂,详细阐述开源项目变成商…

F1 Query: Declarative Querying at Scale

距离 Google 的上一篇 F1 论文,也就是 F1: A Distributed SQL Database That Scales 已经 5 年过去了,Google 在今年的 VLDB 上终于发布了 F1 的新版本 F1 Query: Declarative Querying at Scale,我们今天就来看一下这篇论文。 2013 年的 F1…

openoffice 安装windows 环境

文章目录一、安装配置启动1. 下载软件2. 安装3. 启动一、安装配置启动 1. 下载软件 https://www.openoffice.org/download/ 4.1.11版本 下载链接 2. 安装 一路下一步安装即可 安装完毕后,在桌面上会有一个openoffice图标 3. 启动 soffice -headless -accept“…

在线看大会!就来云栖号!

背景 抗击2019新型冠状病毒(2019-nCoV冠状病毒)成了全国人民的头等大事。截至2020年2月7日,中国确诊新型冠状病毒感染者逾3万人。为抗击预防新型冠状病毒,武汉采取封城措施,钟南山院士提倡全家在家不出门隔断病源&…

我为什么放弃Java,却选择Python?

不可否认的是,Python 凭借超广泛的应用方向,已成为了最受欢迎的编程语言。不过,真正让我喜欢上 Python 的原因,是我发现做同样功能的代码,从 Java 换成 Python 以后,代码量直接从 2000 行减少到 200 行。甚…

三大场景,对象存储OSS带你快速上云

本文介绍对象存储OSS的主要应用场景。 图片和音视频等应用的海量存储 OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据。OSS支持流式写入和文件写入两种方式。 网页或者移动应用的静态和动态资源分离 利用海…

word、excel、ppt 办公文件 在线预览

如果想要免费的,可以用 openoffice,实现原理就是: 通过第三方工具openoffice,将word、excel、ppt、txt等文件转换为pdf文件流;当然如果装了Adobe Reader XI,那把pdf直接拖到浏览器页面就可以直接打开预览&a…

生成PDF乱码问题

文章目录1. 准备字体2. 安装字体3. 重启服务器1. 准备字体 将Windows下的Fonts,如:C:\Windows\Fonts,压缩成Fonts.zip压缩包 2. 安装字体 将压缩包拷贝到Linux目录下,执行如下命令即可: unzip Fonts.zip mkdir /u…

30 年开源老兵,10 年躬耕 OpenStack,开源 1000 万行核心代码

受访者 | Jonathan Bryce记者 | 伍杏玲出品 | CSDN(ID:CSDNnews)万物互联时代下,我们的一切都在依赖计算基础设施,科学、金融、政府、教育、通信和医疗保健依赖现代云基础设施来运行和改进。而开源是让全世界大多数人获…

力展物流公司上云 低成本、实例资源使用效率提升

公司介绍 我们公司是成都力展供应链管理有限公司,于2019年4月注册,注册资金1000万,并于2019年6月投资了四川力展物流有限责任公司和成都力展鸿翔物流有限公司,分别入股900W和400W。业务痛点 我们公司成立不久,但动作频…

OpenOffice+JodConverter实现Office文件到PDF的转换

文章目录1. OpenOffice 下载、安装、启动2. JodConverter下载3. 文件转化4. 中文乱码5. 解决中文乱码1. OpenOffice 下载、安装、启动 openoffice 安装 linux环境 2. JodConverter下载 JodConverter是一款利用OpenOffice进行转化的工具,可以在Office文件和OpenOff…

OpenInfra Days China 2020大会议程已上线!

距离OpenInfra Days China 2020线上活动开幕还有不到半个月的时间,议题征集与筛选工作已于七月底正式结束,目前大会议程已正式公布! 本次OpenInfra Days China主题演讲由OpenStack基金会执行董事Jonathan Bryce,中国电子技术标准化…

阿里云高校“在家实践”计划,免费提供2.68亿小时算力!

计划简介 新冠肺炎疫情防控阻击战持续推进,为全力配合教育部延期开学,高校在线上课共同抗击疫情,阿里云弹性计算联合开发者社区紧急上线高校师生“在家实践”计划,向全国高校学生、教师免费提供2.68亿小时云服务器ECS算力&#xf…

启迪公交上云助力北京公交二维码乘车业务系统顺利上线

公司介绍 我们公司是国内领先的公交出行服务提供商,通过承接公交信息化和智慧化项目建设,应用最先进的互联网商业模式,将“人、车、线、站”的大数据资源及相关配套资源进行商业化转换,实现行业引领,提升公交系统的创新…

MVC与MVVM的区别

MVC与MVVM MVC是Model-View- Controller的简写:模型(model) 视图(view) 控制器(controller) ​ Model(模型):是应用程序中用于处理应用程序数据逻辑的部分。 ​ View(视图):是应用程序中处理…

项目 接入 在线预览

文章目录1. 项目链接2. 克隆项目3. 接入规范4. 项目接入测试5. 参考案例1. 项目链接 https://gitee.com/kekingcn/file-online-preview 2. 克隆项目 git clone gitgitee.com:kekingcn/file-online-preview.git3. 接入规范 # 如果你的项目需要接入文件预览项目,…

阿里技术文档:Redis+Nginx+Spring全家桶+Dubbo精选

最近花了很长的时间去搜罗整理Java核心技术好文,我把每个Java核心技术的优选文章都整理成了一个又一个的文档。今天就把这些东西分享给老铁们,也能为老铁们省去不少麻烦,想学什么技能了,遇到哪方面的问题了 直接打开文档学一学就好…

入门云监控部署业务

云监控概览为您提供了云服务资源使用概览、报警概览、重要事件概览和资源使用情况概览。 您可以实时了解各云服务的资源保有、使用水位和报警情况。 云服务概览 云服务概览提供主机(包括云服务器 ECS 和安装云监控插件的非ECS 机器)、负载均衡、弹性公…

游戏行业应该如何建设数据中台?

责编 | 晋兆雨来源 |智领云科技封图 | CSDN 下载自视觉中国随着网络世界的迅猛发展,“游戏”进入了前所未有的蓬勃发展期。根据Newzoo数据显示,2019年全球游戏市场规模约为1521亿美元,2015-2019年复合增长率达到13.4%,预计2020年全…

中台架构详解(上) | 大咖说中台

作者 | 耿立超责编 | 晋兆雨来源 | 《大数据平台架构与原型实现:数据中台建设实战》中台打破了应用系统的壁垒,从企业全局梳理和规划业务程,重构了组织架构、业务架构与IT 架构。 在梳理了企业的IT 现状并回顾了SOA 的历史之后,我…