MongoDB到DynamoDB

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB到DynamoDB相关的知识,希望对你有一定的参考价值。

我目前在Mongo上运行一个EC2实例的数据库,并希望将数据迁移到DynamoDB。这是可能的,实现这一目标的最具成本效益的方法是什么?

答案

当您要求以“经济有效的方式”迁移数据时,我认为您正在寻找可以减轻您生活​​的现有技术。如果是这样,您可以执行以下操作:

  • 使用mongoexport将您的MongoDB数据导出为文本文件,例如tsv格式。
  • 在S3中的某个位置上传该文件。
  • 使用AWS Data Pipeline将此数据在S3中导入DynamoDB。

当然,在完成所有这些之前,您应该设计并完成DynamoDB表模式。

另一答案

无论何时更改数据库,都必须非常小心迁移数据的方式。某些数据格式保持类型一致性,而其他数据格式则不保

然后只有无法处理您的架构的数据格式。例如,当每个条目有一行时,CSV非常适合处理数据,但是如何在CSV中呈现嵌入式数组呢?这真的不可能,JSON擅长这一点,但JSON有自己的问题。

最简单的例子是JSON和DateTime。 JSON没有存储DateTime值的规范,它们最终可能是ISO8601日期,或者可能是UNIX Epoch时间戳,或者是开发人员梦寐以求的任何东西。 Longs,Doubles,Ints怎么样? JSON没有区别对象,它使它们成为所有字符串,如果没有正确反序列化,可能会导致精度损失。

这使您选择合适的翻译媒体非常重要。通常意味着您必须推出自己的解决方案。这意味着加载两个数据库的驱动程序,从一个数据库中读取条目,翻译和写入另一个数据库。这是绝对确保为您的环境正确处理错误,保持一致类型以及代码正确地将模式从源转换为目标(如果需要)的最佳方法。

这一切对你意味着什么?这对你来说意味着很多腿部工作。有可能某人已经推出了足够广泛的东西,但我在过去发现,最好自己动手。

另一答案

我知道这篇文章很老,亚马逊通过AWS DMS实现了这一点,请查看此文档:

https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html

一些相关部分:

使用Amazon DynamoDB数据库作为AWS数据库迁移服务的目标

您可以使用AWS DMS将数据迁移到Amazon DynamoDB表。 Amazon DynamoDB是一种完全托管的NoSQL数据库服务,可提供快速,可预测的性能和无缝的可扩展性。 AWS DMS支持使用关系数据库或MongoDB作为源。

以上是关于MongoDB到DynamoDB的主要内容,如果未能解决你的问题,请参考以下文章

Dynamodb vs Mongodb

DynamoDB 流 和 AWS Lambda 触发器

从 Parse 迁移到 AWS Dynamo DB

pyspark 代码将 dynamodb 表复制到配置单元问题:不允许操作

将数据从 Amazon Redshift 迁移到 DynamoDB

如何使用 AWS DynamoDB 实现国际化?