确保来自AWS数据库服务的最新值

时间:2019-05-02 15:48:21

标签: database amazon-web-services amazon-rds

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

我查看了DynamoDB之类的NoSQL服务,我认为我无法获得这种保证,尤其是因为我们正在谈论最终的一致性数据库。

另一方面,我期望由AWS的RDS服务之一提供此保证。 Aurora MySQL,但根据this link可能并非如此。如果我们认为可能将写入请求放置在节点 A 中并将随后的读取请求放置在节点 B 中,则完全一致的服务未提供此服务是有道理的,在 A 更新 B 之前。

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

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

DynamoDB将为您提供此保证,只要您明确请求高度一致的读取。参见doc

您为Aurora提供的链接与任何RDBMS体系结构有关,在该体系结构中您写入主数据库但从副本数据库读取。这在Aurora,RDS和执行异步复制的任何其他数据库系统中都会发生。通过从主端点写入读取,可以实现写入后读取的一致性。