首页 > 解决方案 > 确保来自 AWS 数据库服务的最新值

问题描述

我正在为需要在 AWS 中持久化的移动应用程序构建一个简单的服务。对我来说最重要的是确保移动应用程序始终检索最新的值,例如,如果我在行R中写入值V然后从R中读取,那么我将始终得到V

我查看了一些 NoSQL 服务,比如 DynamoDB,我相信我无法得到这个保证,特别是因为我们正在谈论最终一致性数据库。

另一方面,我期待 AWS 的 RDS 服务之一(例如 Aurora MySQL)提供此保证,但根据此链接,情况可能并非如此。如果我们认为在A更新B之前,可能会将写入请求放置在节点A中,而将随后的读取请求放置在节点B中,那么完全一致的服务不提供这确实是有道理的。

据说如果我们将读取请求重定向到执行写入请求的同一节点,可以实现这一点,但我再次认为这应该是非常低效的,我们可以使用 NoSQL 数据库实现相同的结果,对吗?

因此我的问题是:是否有 AWS 服务能够提供这种保证?

谢谢您的帮助。

标签: databaseamazon-web-servicesamazon-rds

解决方案


DynamoDB 将为您提供此保证,前提是您明确请求强一致性读取。见文档

您为 Aurora 提供的链接与您写入主服务器但从副本读取的任何 RDBMS 架构相关。这发生在 Aurora、RDS 和任何其他执行异步复制的数据库系统中。您可以通过从主端点写入​​读取来实现写入后读取的一致性。


推荐阅读