MongoDB到DynamoDB

zpqajqem  于 2023-08-04  发布在  Go
关注(0)|答案(4)|浏览(116)

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

3bygqnnd

3bygqnnd1#

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

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

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

6bc51xsx

6bc51xsx2#

无论何时更改数据库,都必须非常小心迁移数据的方式。某些数据格式保持类型一致性,而另一些则不保持。
还有一些数据格式无法处理您的模式。例如,CSV在处理每个条目一行的数据时非常出色,但是如何在CSV中呈现嵌入式数组呢?这真的是不可能的,JSON擅长于此,但JSON有自己的问题。
最简单的例子是JSON和DateTime。JSON没有存储DateTime值的规范,它们最终可能是ISO8601日期,或者UNIX Epoch Timestamps,或者开发人员可以想象的任何东西。长、双、整数呢?JSON没有区分,它使它们都是字符串,如果没有正确地反序列化,可能会导致精度损失。
因此,选择合适的翻译媒介非常重要。这通常意味着你必须推出自己的解决方案。这意味着为两个数据库加载驱动程序,从一个数据库阅读条目,转换并写入另一个数据库。这是绝对确保为您的环境正确处理错误的最佳方法,类型保持一致,并且代码正确地将模式从源转换到目标(如果需要)。
这一切对你意味着什么?这对你来说意味着很多跑腿的工作。有可能有人已经推出了一些足够广泛的东西,但我发现在过去,这是最好的你自己做。

h6my8fg2

h6my8fg23#

我知道这篇文章很旧了,亚马逊通过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作为源。

相关问题