View a markdown version of this page

Amazon Keyspaces 中的用戶端時間戳記 - Amazon Keyspaces (適用於 Apache Cassandra)

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

Amazon Keyspaces 中的用戶端時間戳記

在 Amazon Keyspaces 中,用戶端時間戳記是 Cassandra 相容的時間戳記,會針對資料表中的每個儲存格保留這些時間戳記。您可以讓用戶端應用程式判斷寫入順序,藉此使用用戶端時間戳記來解決衝突。例如,當全域分佈應用程式的用戶端更新相同的資料時,用戶端時間戳記會保留在用戶端上進行更新的順序。Amazon Keyspaces 使用這些時間戳記來處理寫入。

Amazon Keyspaces 用戶端時間戳記受到完整管理。您不需要管理低階系統設定,例如清除和壓縮策略。

當您刪除資料時,資料列會標示為使用 tombstone 刪除。Amazon Keyspaces 會自動 (通常在 10 天內) 移除斷層資料,而不會影響您的應用程式效能或可用性。Tombstoned 資料不適用於資料處理語言 (DML) 陳述式。當您繼續對包含斷層資料的列執行讀取和寫入時,斷層資料會繼續計入儲存體、讀取容量單位 (RCUs) 和寫入容量單位 WCUs),直到從儲存體中刪除為止。

為資料表開啟用戶端時間戳記後,您可以在 Data Manipulation Language (DML) CQL 查詢中指定具有 USING TIMESTAMP子句的時間戳記。如需詳細資訊,請參閱在 Amazon Keyspaces 中的查詢中使用用戶端時間戳記。如果您未在 CQL 查詢中指定時間戳記,Amazon Keyspaces 會使用用戶端驅動程式傳遞的時間戳記。如果用戶端驅動程式不提供時間戳記,Amazon Keyspaces 會自動指派儲存格層級時間戳記,因為時間戳記不能是 NULL。若要查詢時間戳記,您可以在 DML 陳述式中使用 WRITETIME函數。

Amazon Keyspaces 無需額外付費即可開啟用戶端時間戳記。不過,使用用戶端時間戳記,您可以為資料列中的每個值存放和寫入其他資料。這可能會導致額外的儲存體用量,在某些情況下可能會導致額外的輸送量用量。如需 Amazon Keyspaces 定價的詳細資訊,請參閱 Amazon Keyspaces (適用於 Apache Cassandra) 定價

在 Amazon Keyspaces 中開啟用戶端時間戳記時,其他中繼資料會與您的資料列資料一起存放。每一列的額外負荷取決於資料欄類型、資料列是否使用 TTL,以及 (適用於多區域資料表) 複寫區域的數目。額外負荷的範圍從簡單純量資料欄的資料列數位元組到具有非凍結集合或多區域計數器的資料列數十位元組或更多。此中繼資料會計入您的儲存成本和 1-MB 的資料列大小配額。

若要判斷對儲存體和輸送量的整體影響,請考慮資料表中的資料欄數、使用的資料類型,以及每一列中的集合元素數。例如,包含大量元素之許多非凍結集合資料欄的資料列,其額外負荷會高於僅包含純量資料欄的資料列。其他中繼資料也會影響每次寫入消耗的寫入容量單位 (WCUs) 數量。如需如何預估特定結構描述額外負荷的詳細資訊,請參閱 估計 Amazon Keyspaces 中的資料列大小。如需如何計算讀取和寫入容量的詳細資訊,請參閱 在 Amazon Keyspaces 中設定讀取/寫入容量模式

資料表的用戶端時間戳記開啟後,您就無法將其關閉。

若要進一步了解如何在查詢中使用用戶端時間戳記,請參閱 在 Amazon Keyspaces 中的查詢中使用用戶端時間戳記

Amazon Keyspaces 用戶端時間戳記如何與 AWS 服務整合

下列用戶端時間戳記指標可在 Amazon CloudWatch 中使用,以啟用持續監控。

  • SystemReconciliationDeletes – 移除斷層資料所需的刪除操作數目。

如需如何監控 CloudWatch 指標的詳細資訊,請參閱 使用 Amazon CloudWatch 監控 Amazon Keyspaces

使用 時 CloudFormation,您可以在建立 Amazon Keyspaces 資料表時啟用用戶端時間戳記。如需詳細資訊,請參閱「AWS CloudFormation 使用者指南」