database - 确保来自 AWS 数据库服务的最新值
问题描述
我正在为需要在 AWS 中持久化的移动应用程序构建一个简单的服务。对我来说最重要的是确保移动应用程序始终检索最新的值,例如,如果我在行R中写入值V然后从R中读取,那么我将始终得到V。
我查看了一些 NoSQL 服务,比如 DynamoDB,我相信我无法得到这个保证,特别是因为我们正在谈论最终一致性数据库。
另一方面,我期待 AWS 的 RDS 服务之一(例如 Aurora MySQL)提供此保证,但根据此链接,情况可能并非如此。如果我们认为在A更新B之前,可能会将写入请求放置在节点A中,而将随后的读取请求放置在节点B中,那么完全一致的服务不提供这确实是有道理的。
据说如果我们将读取请求重定向到执行写入请求的同一节点,可以实现这一点,但我再次认为这应该是非常低效的,我们可以使用 NoSQL 数据库实现相同的结果,对吗?
因此我的问题是:是否有 AWS 服务能够提供这种保证?
谢谢您的帮助。
解决方案
DynamoDB 将为您提供此保证,前提是您明确请求强一致性读取。见文档。
您为 Aurora 提供的链接与您写入主服务器但从副本读取的任何 RDBMS 架构相关。这发生在 Aurora、RDS 和任何其他执行异步复制的数据库系统中。您可以通过从主端点写入和读取来实现写入后读取的一致性。
推荐阅读
- javascript - 来自 for 循环中的 if 语句的意外结果
- rest-assured - 如何使用 Rest Assured 从 REST 响应(json 或 xml)中提取字段值?
- c# - Entity Framework Core 设置 User.RoleId 不会自动将相关 Role 实体关联到 user.Role
- java - android studio 在无效缓存后找不到 java sdk ......即使重新安装
- ios - 如何从 Swift 数组创建 UIView 元素的动态网格?
- makecode - 如何在没有 USB 连接的情况下运行 uf2 程序文件
- java - 在 CopyOnWriteArrayList 中获取添加操作的锁
- javascript - 方法赋值JS
- javascript - 如果下一个兄弟姐妹全部隐藏,则隐藏列表项
- java - 使用 Eclipse 安装 e(fx)clipse 时出现问题