IBM的云对象存储在数据一致性/可见性方面提供了哪些保证? AWS基本上是针对新对象的read-after-write,以及更新/删除的最终一致性。那么,IBM的COS的数据一致性模型是什么?并且,我怀疑是否支持对象锁定,但是想验证它确实不可能(如果它是好的话会很好!)。
作为参考,AWS陈述了他们的数据一致性模型here:
Amazon S3为所有地区的S3存储桶中的新对象的PUTS提供了读写后一致性,但有一点需要注意。需要注意的是,如果您在创建对象之前对密钥名称发出HEAD或GET请求(以查找对象是否存在),则Amazon S3会为写入后写入提供最终一致性。
Amazon S3提供了在所有地区覆盖PUTS和DELETES的最终一致性。
单个密钥的更新是原子的。例如,如果您PUT到现有密钥,后续读取可能会返回旧数据或更新数据,但它永远不会写入损坏或部分数据。
关于对象锁定:
Amazon S3目前不支持对象锁定。如果同时对同一个密钥发出两个PUT请求,则使用最新时间戳的请求获胜。如果这是一个问题,您需要在应用程序中构建一个对象锁定机制。
更新是基于密钥的;没有办法跨键进行原子更新。例如,除非您在应用程序中设计此功能,否则无法更新一个键,除非您将此功能设计到应用程序中。
答案 0 :(得分:4)
IBM COS对所有操作都是立即一致的,但是AWS目前还不支持对象锁定。
我正在写一篇关于我们的一致性模型以及它为什么会按照它的方式工作的文章的文章,请继续关注!