2

SimpleDB にドメインがあり、そこから削除することはありません。私はそれについて次のクエリを実行しています。

select count(*) from table_name where last_updated > '2012-09-25';

一貫した読み取りパラメーターを true に設定していますが、実行ごとに異なる結果が返されます。このドメインから何も削除していないので、理想的には結果が昇順になっているはずですが、そうはなっていません。

ここで何か不足していますか?

4

1 に答える 1

0

ユースケースを正しく理解している場合は、Amazon SimpleDBのコンテキストでConsistentReadパラメーターのセマンティクスを誤って読んでいる可能性があります。Select:を参照してください。

trueに設定すると、最新のデータが返されるようになります。詳細については、整合性を参照してください。

最新のフレーズは、最終的には間違いなく誤解を招く可能性がありますが、結果の順序に対処/影響を与えるものではなく、最新の更新を意味し、ConsistentReadは、selectステートメントの前にあるすべての更新操作がこのselect操作にすでに表示されることを保証します。を参照してください。説明:

Amazon SimpleDBは、各ドメインの複数のコピーを保持します。データが書き込まれるか更新されると、データのすべてのコピーが更新されます。ただし、更新がすべての保管場所に反映されるまでには時間がかかります。データは最終的に一貫性があります が、すぐに読み取っても変更が表示されない場合があります。結果整合性のある読み取りがアプリケーションで受け入れられない場合は、ConsistentReadを使用してください。この操作は標準の読み取りよりも時間がかかる場合がありますが、常に最後に更新された値を返します。 [強調鉱山]

一貫性に関するリンクされたセクションには、この概念に関する詳細と図が示されています。

並べ替え順序

あなたがおそらく望む結果を達成するために、ステートメントによる単純な順序は仕事をするべきです、例えば:

select * from table_name where last_updated > '2012-09-25' order by last_updated;

SimpleDBでのこの操作にはいくつかの制約/微妙な点があるため、詳細については、 Sortの短いドキュメントをざっと読んでください。

于 2012-09-27T09:17:40.440 に答える