【发布时间】:2020-12-29 17:40:01
【问题描述】:
除了Dyno 之外,是否有任何尝试将 S3(Amazon、Wasabi 或 S3 兼容)对象存储用作主数据库?例如,存储 JSON 数据和其他实体。
S3 不提供原子事务或批处理事务,因此,为了防止密钥重复或密钥被应用程序的其他实例意外覆盖(例如),需要对密钥进行分布式缓存 afaik (例如使用 EHCache 或类似的东西。)这是我可以看到的主要缺点之一。
同样,如果您需要让您的应用程序具有“全有或全无”,再次进行事务,例如存储两个对象或根本不存储,这是不可能的,除非(至少解决部分问题)具有分布式锁定机制,作为这样的应用程序实例,可以在一段时间内拥有排他锁实际保存到 S3 时要存储的密钥。
当使用 S3 作为主数据库时,如何实现这种机制来模拟事务?
【问题讨论】:
标签: java database amazon-s3 caching