【问题标题】:Using S3 as a primary database for web applications [duplicate]使用 S3 作为 Web 应用程序的主数据库 [重复]
【发布时间】:2020-12-29 17:40:01
【问题描述】:

除了Dyno 之外,是否有任何尝试将 S3(Amazon、Wasabi 或 S3 兼容)对象存储用作主数据库?例如,存储 JSON 数据和其他实体。

S3 不提供原子事务或批处理事务,因此,为了防止密钥重复或密钥被应用程序的其他实例意外覆盖(例如),需要对密钥进行分布式缓存 afaik (例如使用 EHCache 或类似的东西。)这是我可以看到的主要缺点之一。

同样,如果您需要让您的应用程序具有“全有或全无”,再次进行事务,例如存储两个对象或根本不存储,这是不可能的,除非(至少解决部分问题)具有分布式锁定机制,作为这样的应用程序实例,可以在一段时间内拥有排他锁实际保存到 S3 时要存储的密钥。

当使用 S3 作为主数据库时,如何实现这种机制来模拟事务?

【问题讨论】:

    标签: java database amazon-s3 caching


    【解决方案1】:

    您可以实现一个append-only database,它是事务日志,但效率不会太高。

    S3 的问题在于它提供了read after write 的一致性,但否则你不能真正依赖于一致性。

    【讨论】:

      猜你喜欢
      • 2012-01-24
      • 2014-10-18
      • 2017-09-15
      • 2018-11-16
      • 2017-07-18
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多