首页 文章

Amazon Redshift框架(Oracle数据仓库迁移)

提问于
浏览
0

我们目前正计划将50 TB的Oracle数据仓库迁移到Amazon Redshift .

来自不同OLTP数据源的数据首先在Oracle临时数据库中暂存,然后再加载到数据仓库中 . 目前,数据已在临时数据库中使用大量PL / SQL存储过程进行转换,并加载到数据仓库中 .

OLTP数据源1 - > JMS(MQ)实时 - > Oracle STG Database --> Oracle DW

注意:JMS MQ使用者将数据写入临时数据库

OLTP数据源2 - > CDC增量数据(10分钟一次) - > Oracle STG Database --> Oracle DW

注意:源端数据上的更改数据捕获将在10分钟内加载到登台数据库中一次 .

将此堆栈完全(突出显示)迁移到Amazon Redshift会有什么更好的框架?我们可以迁移到AWS中的哪些不同组件?

1 回答

  • 2

    哇,听起来像是一件大事 . 这里有很多事情都需要考虑 .

    您最好的起点可能是AWS数据库迁移服务(https://aws.amazon.com/dms/) . 在转换模式和突出显示您必须手动迁移的区域方面,这可以为您做很多工作 .

    您应该将S3视为主要的临时区域 . 在加载到Redshift之前,您需要在S3中放置所有(或几乎所有)数据 . 仔细考虑数据的布局方式 . 特别是,我建议您使用分区前缀( s3://my_bucket/YYYYMMDDHHMI/filess3://my_bucket/year=YYYY/month=MM/day=DD/hour=HH/minute=MI/files ) .

    您的PL / SQL逻辑将无法移植到Redshift . 您需要将非SQL部分转换为 bashPython ,并使用外部工具在Redshift中运行SQL部件 . 我建议您从Apache Airflow( Python )或Azkaban( bash )开始 . 如果您想保持纯粹的AWS,那么您可以尝试使用Data Pipeline(不推荐)或等待AWS Glue发布(看起来很有希望 - 未经测试) .

    您可以将Amazon Kinesis Firehose用于当前由JMS完成的工作,但Kinesis的理想用途与JMS(AFAICT)的典型用法完全不同 .

    祝好运

相关问题