日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

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

發(fā)布時(shí)間:2024/8/23 数据库 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何将数据仓库从 AWS Redshift 迁移到阿里云 AnalyticDB for PostgreSQL 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

阿里云AnalyticDB for PostgreSQL(以下簡(jiǎn)稱 ADB PG,即原HybridDB for PostgreSQL)為基于PostgreSQL內(nèi)核的MPP架構(gòu)的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)服務(wù),可以支持復(fù)雜ETL任務(wù),也支持高性能在線查詢,同阿里云生態(tài)緊密結(jié)合。AWS 的Redshift同樣為基于PostgreSQL內(nèi)核引擎的MPP數(shù)據(jù)倉(cāng)庫(kù)服務(wù)器,在AWS被廣泛作為數(shù)據(jù)倉(cāng)庫(kù)使用。ADB PG和Redshift從架構(gòu)到語(yǔ)法上同Redshift高度兼容。本文重點(diǎn)介紹兩個(gè)數(shù)倉(cāng)平臺(tái)如何進(jìn)行遷移。

產(chǎn)品架構(gòu)比較

阿里云AnalyticDB for PostgreSQL最新版本 6.0 基于PostgreSQL 9.4構(gòu)建,Redshift 基于PostgreSQL 8.2版本,相對(duì)ADB PG的功能要更加全面,且全面兼容PostgreSQL生態(tài)的工具,包括PostGIS,MADlib等擴(kuò)展分析。Redshift 只支持列存表,而不支持PostgreSQL原生的行存表,而ADB PG即保留了PostgreSQL行存表支持,實(shí)現(xiàn)高吞吐的數(shù)據(jù)更新操作,也支持面向OLAP大表聚合操作的列存表。

AnalyticDB for PG 與 Redshift的比較

功能項(xiàng)目ADB PGRedshift
PostgreSQL版本PG 9.4PG 8.2
SQL語(yǔ)法兼容PG,部分兼容Oracle語(yǔ)法兼容PG
事務(wù)支持支持
行存儲(chǔ)支持不支持
列存儲(chǔ)支持支持
表分區(qū)支持支持
云存儲(chǔ)支持OSS數(shù)據(jù)在線訪問(wèn)支持S3數(shù)據(jù)在線訪問(wèn)
多模分析PostGIS/MADLib/向量檢索?

關(guān)鍵語(yǔ)法比較及遷移

阿里云AnalyticDB for PostgreSQL與AWS Redshift都基于單機(jī)PostgreSQL內(nèi)核引擎,故語(yǔ)法高度兼容,部分語(yǔ)法描述略有差異如下。

DDL建表語(yǔ)法差異

語(yǔ)法RedshiftADB PG
表Hash分布DISTKEY(col)DISTRIBUTED BY(col)
表隨機(jī)分布DISTSTYLE EVENDISTRIBUTED RANDOMLY
表復(fù)制分布DISTSTYLE ALLDISTRIBUTED REPLICATED
數(shù)據(jù)編碼壓縮AZ64/BYTEDICT/DELTA/LZO/RAW/RUNLENGTH/ZSTD(COMPRESSTYPE={ZStD/ZLIB/QUICKLZ/RLE_TYPE/NONE})
列存排序鍵SORTKEY (col)with(APPENDONLY=true,ORIENTATION=column)sortkey (volume)
系統(tǒng)函數(shù)PG8.2及部分自定義函數(shù)PG9.4及部分自定義函數(shù)

語(yǔ)法指南

ADB PG建表指南
Redshift建表指南

DDL轉(zhuǎn)換示例1

Redshift 建表語(yǔ)句,包含分布鍵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建表語(yǔ)句:

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轉(zhuǎn)換示例2

Redshift 建表語(yǔ)句,包含ENCODE和SORTKEY選項(xiàng):

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建表語(yǔ)句:

CREATE TABLE schema2.table2(filed1 VARCHAR(50),filed2 VARCHAR(50),filed3 VARCHAR(20)) WITH(APPENDONLY=true, ORIENTATION=column, COMPRESSTYPE=zlib) DISTRIBUTED randomly SORTKEY (filed1 );

數(shù)據(jù)遷移

Redshift和ADB PG均支持從云存儲(chǔ)的告訴并行數(shù)據(jù)導(dǎo)入和導(dǎo)出。從Redshift遷移數(shù)據(jù)到AnalyticDB for PostgreSQL包含如下步驟:

  • 資源和環(huán)境準(zhǔn)備,執(zhí)行操作前需提前準(zhǔn)備Amazon Redshift、Amazon S3(Amazon Simple Storage Service)、AnalyticDB for PostgreSQL和阿里云對(duì)象存儲(chǔ)服務(wù)(OSS)的相關(guān)資源。
  • 將Redshift的數(shù)據(jù)導(dǎo)入到Amazon S3中。
  • 使用OSSImport將Amazon S3中CSV格式的數(shù)據(jù)文件導(dǎo)入到OSS。
  • 在目標(biāo)AnalyticDB for PostgreSQL中創(chuàng)建和源Redshift對(duì)應(yīng)的對(duì)象,包括模式(Schema)、表(Table)、視圖(View)和函數(shù)(Function)。
  • 使用OSS外部表將數(shù)據(jù)導(dǎo)入到AnalyticDB for PostgreSQL。
  • 整體遷移路徑如下:


    原文鏈接
    本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

    總結(jié)

    以上是生活随笔為你收集整理的如何将数据仓库从 AWS Redshift 迁移到阿里云 AnalyticDB for PostgreSQL的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。