2011-11-24 4 views
1

나는 SimpleDB를 사용하면서 가정을 발견했다. 나는 그것이 안전하다고 생각하지만 다른 사람들이 문서를 다루지 않기 때문에 다른 의견을 원합니다.SimpleDB : 항목을 볼 수 있다면 모든 항목 속성을 볼 수 있습니까? (non-consistent read)

이렇게 프로세스 1은 x 속성을 가진 항목을 저장합니다. 프로세스 2가 일관된 읽기없이 해당 항목에 액세스하려고 시도 할 때 &이 발견하면 프로세스 1에 저장된 모든 속성을 보장합니까?

다른 프로세스가 데이터를 변경했을 가능성을 배제하고 있습니다.

또한 프로세스 2는 일관된 읽기가 사용되지 않으면 항목을 볼 수 없다는 것을 알고 있습니다. 결국에는 결국 볼 수 있습니다.

나는 &을 다른 곳으로 옮길 수 없다면 임시 고정 스키마가 있다고 가정하고 실제 존재 여부를 확인하지 않고 예상되는 모든 속성에 액세스 할 수 있습니까?

나는 아이템을 사용할 때까지 아이템을 요청할 필요가없는 상황에 있고 싶지 않습니다.

감사합니다.

답변

2

아마존은 문서에서 이러한 보증을하지 않지만 최종 일관성의 현재 구현은 프로세스 1이 저장 한 모든 속성 또는 아무 것도 표시하지 않도록 보장합니다.

AWS 포럼에서 this thread 이상을 참조하십시오. 특히 Amazon 직원이 동작을 확인 (강조 표시)하여 this answer을 참조하십시오.

나는 우리가 문서에 그 보장을 생각하지 않지만, 현재 구현 번들 각 넣어 요청을 처리합니다. 요청을 분할하고 작업을 단편적으로 적용하지 않습니다. 은 단계 일관성이 가 나올 때까지 1 단계 응답 또는 2 단계 응답 중 하나를 취하게하고 2 단계 응답을 남깁니다.

이것은 문서화되지 않은 행동이지만 꽤 많은 SimpleDB 사용자가 지금 당장에 의지하고 있다고 생각합니다. 아마존은 곧 변경 될 가능성이 있지만 아마 추측 할 수 있습니다.

+0

죄송합니다. 응답 시간이 너무 길어서 질문이 죽었다고 생각했습니다. 그러나 이것에 다시와 주셔서 감사합니다 - 끝내 대답, 오늘 밤에 더 잘게 될 것입니다 :) 그들이 API 옵션이 될 것으로 예상했는데 이것을 바꿀 경우 많은 사람들이이 동작에 의존하지 않을 수도 있습니다. 실현. 다시 한번 감사드립니다. – Jonathan

관련 문제