【问题标题】:Build pipeline from Oracle DB to AWS DynamoDB构建从 Oracle DB 到 AWS DynamoDB 的管道
【发布时间】:2016-04-07 22:04:47
【问题描述】:

我有一个在独立 EC2 VM 上运行的 Oracle 实例,我想做两件事。

1) 将我的一个 Oracle 表中的数据复制到 DynamoDB 可以读取的云目录中。这只会执行一次。

2) 然后,我希望每天将对该源表的任何更改附加到 DynamoDB 表中,作为另一行共享一个 ID,以便我可以看到该行随时间的变化情况。

理想情况下,我想要一个解决方案,就像将 SQL 查询的结果通过管道传输到将数据转储到云文件系统(S3、HDFS?)的程序中一样简单,然后我想要转换该数据转换为可以使用 DynamoDB 读取的格式。

所以我需要这些东西:

1) 一个传输设备,我希望能够在命令行中输入类似这样的内容:

sqlplus ... "SQL Query" | transport --output_path --output_type etc etc

2) 对于我需要云文件系统的路径,S3 看起来是显而易见的选择,因为我想要一个交钥匙解决方案。

3) 最后一部分很不错,因为我总是可以使用临时目录来保存我的原始文本并在另一个步骤中转换它。

【问题讨论】:

    标签: oracle amazon-web-services amazon-ec2 amazon-dynamodb etl


    【解决方案1】:

    我假设您所指的“云目录”或“云文件系统”是S3?在这种情况下,我看不出它怎么可能是其他任何东西,但是您使用的术语非常模糊。

    每当您将新文件复制到 S3 时触发 DynamoDB 插入非常简单,只需让 S3 触发 Lambda 函数来处理数据并插入到 DynamoDB 中。不过,我不清楚您将如何将数据输入 S3。如果您只是运行一个 cron 作业来定期查询 Oracle 并将一些数据转储到一个文件中,然后您将其复制到 S3,那么这应该可以工作。

    您需要知道您不能追加到 S3 上的文件,每次将新数据推送到 S3 时都需要写入整个文件。如果您想以某种方式流式传输数据,那么使用 Kenesis 而不是 S3 可能是更好的选择。

    【讨论】:

    • 感谢您的回答,我已经编辑了我的 OP 以明确我需要什么。
    猜你喜欢
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多