讀取一致性 - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

讀取一致性

Amazon DynamoDB 會從資料表、本機次要索引 (LSI)、全域次要索引 (GSI) 和串流讀取資料。如需詳細資訊,請參閱 Amazon DynamoDB 的核心元件。資料表和 LSI 都提供兩個讀取一致性選項:最終一致 (預設) 和高度一致性讀取。GSI 和串流的所有讀取都是最終一致讀取。

當您的應用程式將資料寫入 DynamoDB 資料表並收到 HTTP 200 回應 (OK) 時,代表已成功寫入並會永久保存。DynamoDB 提供專供讀取隔離,可確保讀取操作一律傳回某個項目已確認的值。讀取將永遠不會從最終沒有成功的寫入中呈現對項目的視圖。專供讀取隔離不會防止在讀取操作後立即修改項目。

最終一致讀取

最終一致是所有讀取操作的預設讀取一致性模式。當向 DynamoDB 資料表或索引發出最終一致讀取時,回應可能無法反映出最近完成的寫入操作結果。如果您在短時間後重複讀取請求,應該最終會傳回最近的資料作為回應。最終一致讀取支援資料表、本機次要索引和全域次要索引。另外請注意,從 DynamoDB 串流的讀取也是最終一致讀取。

最終一致讀取的成本是高度一致性讀取的一半。如需詳細資訊,請參閱 Amazon DynamoDB 定價。

強烈一致讀取

讀取操作如 GetItemQueryScan 提供 ConsistentRead 參數。如果設定ConsistentRead為 true,DynamoDB 會傳回 up-to-date 資料最多的回應,反映所有先前成功寫入作業的更新。高度一致性讀取僅支援資料表和本機次要索引。全域次要索引或 DynamoDB 串流不支援高度一致性讀取。

全域資料表讀取一致性

DynamoDB 也支援用於多重作用中和多區域複寫的全域資料表。全域表是由不同 AWS 區域中的多個複本表格所組成。對任何複本資料表中任何項目所做的任何變更,都會複寫到相同全域資料表中的所有其他複本,通常一秒內即可完成,並且是最終一致。如需詳細資訊,請參閱 一致性和衝突解決