Nosql SimpleDB:如果我们看到项目,保证能看到所有项目属性?(非一致读取)
我刚刚在使用SimpleDB时发现了一个假设。我怀疑它是安全的,但我希望有其他的意见,因为医生似乎没有涵盖它 假设流程1存储了一个具有x属性的项目。当进程2尝试访问所述项(无一致读取)并找到它时,是否保证所有属性都由进程1存储 我排除了另一个过程可能会改变数据的可能性 我也知道流程2不能保证看到项目,除非使用一致的读取,我只是说它最终看到它的时候 我想问题是,一旦我可以得到一个项目&我不会在其他任何地方更改它,我能假设它有一个特别的固定模式,并且访问我所有的预期属性而不检查它们是否确实存在吗 我不想处于这样一种情况:我需要不断地请求项目,直到它们具有我需要使用它们的所有属性Nosql SimpleDB:如果我们看到项目,保证能看到所有项目属性?(非一致读取),nosql,amazon-web-services,amazon-simpledb,Nosql,Amazon Web Services,Amazon Simpledb,我刚刚在使用SimpleDB时发现了一个假设。我怀疑它是安全的,但我希望有其他的意见,因为医生似乎没有涵盖它 假设流程1存储了一个具有x属性的项目。当进程2尝试访问所述项(无一致读取)并找到它时,是否保证所有属性都由进程1存储 我排除了另一个过程可能会改变数据的可能性 我也知道流程2不能保证看到项目,除非使用一致的读取,我只是说它最终看到它的时候 我想问题是,一旦我可以得到一个项目&我不会在其他任何地方更改它,我能假设它有一个特别的固定模式,并且访问我所有的预期属性而不检查它们是否确实存在吗 我
谢谢。尽管Amazon在文档中没有做出这样的保证,但其最终一致性的当前实现保证您将看到由Process 1存储的所有属性,或者没有任何属性 在AWS论坛上查看,更具体地说,由亚马逊员工确认行为(我的重点) 我不认为我们在文件中做出了保证,但是 当前实现将每个Put请求视为一个bundle。不会的 将请求拆分并逐段应用操作。你会得到 第一步响应或第二步响应,直到最终一致 抖出来,留给你第二步的反应
虽然这是未记录的行为,但我怀疑现在有相当多的SimpleDB用户依赖它,因此亚马逊不太可能在短期内改变它,但这是我的猜测。很抱歉这么久才回复,我认为这个问题已经解决了。但是,感谢大家回来回答这个问题——非常棒的答案,我今晚会睡得更好:)如果他们真的改变了这一点,我希望这是一个API选项,我同意很多人可能会在没有意识到的情况下依赖这种行为。再次感谢!