IBM 的 Cloud Object Storage 在数据一致性/可见性方面提供什么保证?AWS 基本上是对新对象的写后读,以及更新/删除的最终一致性。那么,IBM COS 的数据一致性模型是什么?而且,我怀疑是否支持对象锁定,但想验证它确实是不可能的(如果是的话会很棒!)。
作为参考,AWS在这里声明了他们的数据一致性模型:
Amazon S3 为所有区域的 S3 存储桶中的新对象的 PUTS 提供写后读一致性,但有一点需要注意。需要注意的是,如果您在创建对象之前对键名发出 HEAD 或 GET 请求(以查找对象是否存在),Amazon S3 会为写入后读取提供最终一致性。
Amazon S3 为所有区域的覆盖 PUTS 和 DELETES 提供最终一致性。
对单个键的更新是原子的。例如,如果您 PUT 到现有密钥,后续读取可能会返回旧数据或更新数据,但它永远不会写入损坏或部分数据。
关于对象锁定:
Amazon S3 当前不支持对象锁定。如果同时对同一个键发出两个 PUT 请求,则具有最新时间戳的请求获胜。如果这是一个问题,您将需要在应用程序中构建对象锁定机制。
更新是基于密钥的;没有办法跨键进行原子更新。例如,您不能使一个密钥的更新依赖于另一个密钥的更新,除非您将此功能设计到您的应用程序中。