【问题标题】:DynamoDB backup and restore using Data pipelines. How long does it take to backup and recover?使用数据管道进行 DynamoDB 备份和恢复。备份和恢复需要多长时间?
【发布时间】:2020-12-11 23:00:25
【问题描述】:

我计划将数据管道用作 DynamoDB 的备份和恢复工具。我们将使用亚马逊预建的管道备份到 s3,并使用预建的恢复管道在发生灾难时恢复到新表。

出于法律和合规性原因,这也将用于数据存档的双重目的。我们已经探索过快照,但与 s3 相比,这可能会变得相当昂贵。有人估计备份 1TB 数据库需要多长时间吗?以及恢复一个 1TB 的数据库需要多长时间?

我读过亚马逊文档,它说从快照恢复可能需要 20 分钟,但没有提到数据管道需要多长时间。有没有人有线索?

【问题讨论】:

    标签: amazon-s3 amazon-dynamodb database-backups amazon-data-pipeline disaster-recovery


    【解决方案1】:

    exporting from DynamoDB to S3 的新发布功能是否满足您的用例需求?要使用此功能,您必须启用连续备份。也许这将为您提供所需的短期备份?

    【讨论】:

    • 此功能是“单向街道”。我尝试导出到 S3,但您无法重新导入回 S3。这仅用于分析目的,不用于备份。这对 AWS Athena 和 Redshift 最有用!
    【解决方案2】:

    知道您为什么不打算使用内置备份机制会很有趣。它提供时间点恢复,并且在成本和性能方面具有高度可预测性。

    Data Pipelines 备份是不可预测的,很可能会花费更多,并且在操作上它的可靠性要低得多。加上获得一致的快照(即时间点)需要停止世界。从经验上讲,我不建议使用 Data Pipelines 来备份 DynamoDB 表!

    关于备份需要多长时间,这取决于许多因素,但主要取决于表的大小和您愿意投入的预置容量,以及 EMR 集群的大小你愿意合作。因此,它可能需要一分钟到几个小时的时间。

    恢复时间也取决于几乎相同的变量:预置容量和总大小。它也可能需要一分钟到几个小时。

    Point in time 备份提供一致、可预测且最重要的是可靠的性能,无论表的大小如何:使用它!

    如果您只是对从表中转储数据感兴趣(即不一定是还原部分),请使用新的导出到 S3。

    【讨论】:

    • 感谢您的回复。我使用 BOTH 有几个原因。 1. 时间点恢复 (PITR) 对勒索软件不安全。它使用与基本数据库相同的加密 2. 关闭 PITR 将删除备份,使其容易被意外删除或恶意删除整个表 3. 它不能防止帐户接管,而拥有 S3 备份意味着我可以非常快速地在另一个帐户中启动另一个实例因此,我使用 S3 备份进行存档,使用 BCDR 和 PITR 进行一致/快速恢复!我们同时使用这两种方法来应对所有威胁。
    • 有道理。在这种情况下,您绝对可以使用数据管道或类似的策略,但您必须自己测试以确定在您的特定情况下需要多长时间。最大的问题肯定是在执行数据复制操作之前必须停止写入表
    • 不会有停机时间。您仍然可以访问数据以进行读取,但如果您继续写入,则备份可能会不一致。这是否是一个问题取决于您的用例。您还想研究使用 DynamoDB 流对表活动进行流式传输。这样,所有写入都可以手动复制到另一个帐户中的另一个“备份”表。如果您担心帐户被盗,这是一个更好的解决方案 IMO。
    • @SKhurana 使用 AWS 备份进行跨账户跨区域,但使用 DynamoDB 的数据管道而不是全局表
    • @VineethSai 感谢您的回复。我想使用 dynamodb 而不是 AWS 备份的数据管道,因为跨账户备份当前不支持 Amazon DynamoDB 表,对吗?您使用 dynamo 的数据管道而不是使用 lambda 的 ddb 流的原因是什么,AWS 声称在这里更便宜、更快aws.amazon.com/blogs/database/…
    猜你喜欢
    • 2021-12-25
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-14
    • 2011-07-02
    相关资源
    最近更新 更多