使用全域次要索引建立最終一致複本 - Amazon DynamoDB

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

使用全域次要索引建立最終一致複本

使用全域次要索引建立資料表的最終一致複本。建立複本可讓您執行下列動作:

  • 為不同的讀取器設定不同的佈建讀取容量。例如,假設您有兩個應用程式:一個應用程式處理高優先順序查詢,並需要最高層級的讀取效能;另一個應用程式則處理低優先順序查詢,且容許調節讀取活動。

    如果這兩個應用程式都從同一個資料表讀取資料,則來自低優先順序應用程式的高讀取負載可能會耗用資料表的所有可用讀取容量。這將調節高優先級應用程式的讀取活動。

    相反地,您可以透過全域次要索引建立複本,其讀取容量可與資料表本身分開設定。然後,您可以讓低優先級的應用程式查詢複本而非資料表。

  • 完全消除資料表中的讀取。例如,您可能有一個應用程式會從網站擷取大量點擊流活動,但您不想冒著讓讀取干擾該活動的風險。您可以隔離此資料表並避免其他應用程式讀取 (請參閱 使用IAM原則條件進行精細的存取控制),同時讓其他應用程式讀取使用全域次要索引建立的複本。

若要建立複本,請設定具有與資料表相同的索引鍵結構描述的全域次要索引,並將部分或全部的非索引鍵屬性投影到其中。在應用程式中,您可以將部分或所有讀取活動導向此全域次要索引,而不是父資料表。然後,您可以調整全域次要索引的佈建讀取容量,以便在不必變更父資料表的佈建讀取容量情況下處理該讀取。

寫入父資料表與寫入資料出現在索引中的時間之間,總是會有短暫的傳播延遲。換句話說,您的應用程式應該考慮到全域次要索引複本只是與父資料表有最終一致性

您可以建立多個全域次要索引複本來支援不同的讀取模式。在建立複本時,只需投入每個讀取模式實際需要的屬性。然後,應用程式可以耗用較少佈建的讀取容量來僅取得所需的資料,而不必從父資料表讀取項目。隨著時間推移,這項最佳化可以大幅節省成本。