

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Stempel waktu sisi klien di Amazon Keyspaces
<a name="client-side-timestamps"></a>

Di Amazon Keyspaces, stempel waktu sisi klien adalah stempel waktu yang kompatibel dengan Cassandra yang disimpan untuk setiap sel di tabel Anda. Anda dapat menggunakan stempel waktu sisi klien untuk penyelesaian konflik dengan membiarkan aplikasi klien Anda menentukan urutan penulisan. Misalnya, ketika klien dari aplikasi yang didistribusikan secara global melakukan pembaruan ke data yang sama, stempel waktu sisi klien mempertahankan urutan pembaruan dilakukan pada klien. Amazon Keyspaces menggunakan stempel waktu ini untuk memproses penulisan. 

Stempel waktu sisi klien Amazon Keyspaces dikelola sepenuhnya. Anda tidak perlu mengelola pengaturan sistem tingkat rendah seperti strategi pembersihan dan pemadatan. 

Saat Anda menghapus data, baris ditandai untuk dihapus dengan batu nisan. Amazon Keyspaces menghapus data tombstoned secara otomatis (biasanya dalam 10 hari) tanpa memengaruhi kinerja atau ketersediaan aplikasi Anda. Data tombstoned tidak tersedia untuk pernyataan bahasa manipulasi data (DML/bahasa manipulasi data). Saat Anda terus melakukan pembacaan dan penulisan pada baris yang berisi data batu nisan, data batu nisan terus dihitung terhadap penyimpanan, unit kapasitas baca (RCUs), dan tulis unit kapasitas (WCUs) hingga dihapus dari penyimpanan. 

Setelah stempel waktu sisi klien diaktifkan untuk sebuah tabel, Anda dapat menentukan stempel waktu dengan `USING TIMESTAMP` klausa dalam kueri CQL Data Manipulation Language (DHTML) Anda. Untuk informasi selengkapnya, lihat [Gunakan stempel waktu sisi klien dalam kueri di Amazon Keyspaces](client-side-timestamps-how-to-queries.md). Jika Anda tidak menentukan stempel waktu dalam kueri CQL Anda, Amazon Keyspaces menggunakan stempel waktu yang diteruskan oleh driver klien Anda. Jika driver klien tidak menyediakan stempel waktu, Amazon Keyspaces menetapkan stempel waktu tingkat sel secara otomatis, karena stempel waktu tidak bisa. `NULL` Untuk kueri stempel waktu, Anda dapat menggunakan `WRITETIME` fungsi dalam pernyataan DMLmu. 

Amazon Keyspaces tidak mengenakan biaya tambahan untuk mengaktifkan stempel waktu sisi klien. Namun, dengan stempel waktu sisi klien Anda menyimpan dan menulis data tambahan untuk setiap nilai di baris Anda. Hal ini dapat menyebabkan penggunaan penyimpanan tambahan dan dalam beberapa kasus penggunaan throughput tambahan. Untuk informasi selengkapnya tentang harga Amazon Keyspaces, lihat harga Amazon [Keyspaces (untuk Apache](https://aws.amazon.com/keyspaces/pricing) Cassandra).

Saat stempel waktu sisi klien diaktifkan di Amazon Keyspaces, setiap kolom dari setiap baris menyimpan stempel waktu. Stempel waktu ini memakan waktu sekitar 20-40 byte (tergantung pada data Anda), dan berkontribusi pada biaya penyimpanan dan throughput untuk baris tersebut. Byte metadata ini juga dihitung terhadap kuota ukuran baris 1-MB Anda. Untuk menentukan peningkatan keseluruhan ruang penyimpanan (untuk memastikan bahwa ukuran baris tetap di bawah 1 MB), pertimbangkan jumlah kolom dalam tabel Anda dan jumlah elemen koleksi di setiap baris. Misalnya, jika tabel memiliki 20 kolom, dengan setiap kolom menyimpan 40 byte data, ukuran baris meningkat dari 800 byte menjadi 1200 byte. Untuk informasi lebih lanjut tentang cara memperkirakan ukuran baris, lihat[Perkirakan ukuran baris di Amazon Keyspaces](calculating-row-size.md). Selain 400 byte tambahan untuk penyimpanan, dalam contoh ini, jumlah unit kapasitas tulis (WCUs) yang dikonsumsi per penulisan meningkat dari 1 WCU menjadi 2. WCUs Untuk informasi lebih lanjut tentang cara menghitung kapasitas baca dan tulis, lihat[Konfigurasikan mode read/write kapasitas di Amazon Keyspaces](ReadWriteCapacityMode.md).

Setelah stempel waktu sisi klien dinyalakan untuk sebuah meja, Anda tidak dapat mematikannya. 

Untuk mempelajari lebih lanjut tentang cara menggunakan stempel waktu sisi klien dalam kueri, lihat. [Gunakan stempel waktu sisi klien dalam kueri di Amazon Keyspaces](client-side-timestamps-how-to-queries.md)

**Topics**
+ [Bagaimana stempel waktu sisi klien Amazon Keyspaces terintegrasi dengan layanan AWS](#client-side-timestamps_integration)
+ [Buat tabel baru dengan stempel waktu sisi klien di Amazon Keyspaces](client-side-timestamps-create-new-table.md)
+ [Konfigurasikan stempel waktu sisi klien untuk tabel di Amazon Keyspaces](client-side-timestamps-existing-table.md)
+ [Gunakan stempel waktu sisi klien dalam kueri di Amazon Keyspaces](client-side-timestamps-how-to-queries.md)

## Bagaimana stempel waktu sisi klien Amazon Keyspaces terintegrasi dengan layanan AWS
<a name="client-side-timestamps_integration"></a>

Metrik stempel waktu sisi klien berikut tersedia di Amazon CloudWatch untuk memungkinkan pemantauan berkelanjutan.
+ `SystemReconciliationDeletes`— Jumlah operasi penghapusan yang diperlukan untuk menghapus data kuburan.

Untuk informasi selengkapnya tentang cara memantau CloudWatch metrik, lihat[Memantau Amazon Keyspaces dengan Amazon CloudWatch](monitoring-cloudwatch.md).

Saat menggunakan CloudFormation, Anda dapat mengaktifkan stempel waktu sisi klien saat membuat tabel Amazon Keyspaces. Untuk informasi selengkapnya, silakan lihat [Panduan Pengguna AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html). 

# Buat tabel baru dengan stempel waktu sisi klien di Amazon Keyspaces
<a name="client-side-timestamps-create-new-table"></a>

Ikuti contoh berikut untuk membuat tabel Amazon Keyspaces baru dengan stempel waktu sisi klien diaktifkan menggunakan Amazon Konsol Manajemen AWS Keyspaces, Cassandra Query Language (CQL), atau AWS Command Line Interface

------
#### [ Console ]

**Buat tabel baru dengan stempel waktu sisi klien (konsol)**

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon Keyspaces di https://console.aws.amazon.com/keyspaces/ rumah.](https://console.aws.amazon.com/keyspaces/home)

1. Di panel navigasi, pilih **Tabel**, lalu pilih **Buat tabel**.

1. Pada halaman **Buat tabel** di bagian **Rincian tabel**, pilih ruang kunci dan berikan nama untuk tabel baru.

1. Di bagian **Skema**, buat skema untuk tabel Anda.

1. Di bagian **Pengaturan tabel**, pilih **Sesuaikan pengaturan**.

1. Lanjutkan ke **stempel waktu sisi klien**.

   Pilih **Aktifkan stempel waktu sisi klien untuk mengaktifkan stempel waktu** sisi klien untuk tabel. 

1. Pilih **Buat tabel**. Tabel Anda dibuat dengan stempel waktu sisi klien dihidupkan.

------
#### [ Cassandra Query Language (CQL) ]

**Buat tabel baru menggunakan CQL**

1. Untuk membuat tabel baru dengan stempel waktu sisi klien diaktifkan menggunakan CQL, Anda dapat menggunakan contoh berikut.

   ```
   CREATE TABLE my_keyspace.my_table (
      userid uuid,
      time timeuuid,
      subject text,
      body text,
      user inet,
      PRIMARY KEY (userid, time)
   ) WITH CUSTOM_PROPERTIES = {'client_side_timestamps': {'status': 'enabled'}};
   ```

1. Untuk mengonfirmasi pengaturan stempel waktu sisi klien untuk tabel baru, gunakan `SELECT` pernyataan untuk meninjau `custom_properties` seperti yang ditunjukkan pada contoh berikut. 

   ```
   SELECT custom_properties from system_schema_mcs.tables where keyspace_name = 'my_keyspace' and table_name = 'my_table';
   ```

   Output dari pernyataan ini menunjukkan status untuk stempel waktu sisi klien.

   ```
   'client_side_timestamps': {'status': 'enabled'}
   ```

------
#### [ AWS CLI ]

**Buat tabel baru menggunakan AWS CLI**

1. Untuk membuat tabel baru dengan stempel waktu sisi klien diaktifkan, Anda dapat menggunakan contoh berikut.

   ```
   ./aws keyspaces create-table \
   --keyspace-name my_keyspace \
   --table-name my_table \
   --client-side-timestamps 'status=ENABLED' \
   --schema-definition 'allColumns=[{name=id,type=int},{name=date,type=timestamp},{name=name,type=text}],partitionKeys=[{name=id}]'
   ```

1. Untuk mengonfirmasi bahwa stempel waktu sisi klien diaktifkan untuk tabel baru, jalankan kode berikut.

   ```
   ./aws keyspaces get-table \
   --keyspace-name my_keyspace \
   --table-name my_table
   ```

   Outputnya akan terlihat mirip dengan contoh ini.

   ```
   {
       "keyspaceName": "my_keyspace",
       "tableName": "my_table",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/my_keyspace/table/my_table",
       "creationTimestamp": 1662681206.032,
       "status": "ACTIVE",
       "schemaDefinition": {
           "allColumns": [
               {
                   "name": "id",
                   "type": "int"
               },
               {
                   "name": "date",
                   "type": "timestamp"
               },
               {
                   "name": "name",
                   "type": "text"
               }
           ],
           "partitionKeys": [
               {
                   "name": "id"
               }
           ],
           "clusteringKeys": [],
           "staticColumns": []
       },
       "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": 1662681206.032
       },
       "encryptionSpecification": {
           "type": "AWS_OWNED_KMS_KEY"
       },
       "pointInTimeRecovery": {
           "status": "DISABLED"
       },
       "clientSideTimestamps": {
           "status": "ENABLED"
       },
       "ttl": {
           "status": "ENABLED"
       },
       "defaultTimeToLive": 0,
       "comment": {
           "message": ""
       }
   }
   ```

------

# Konfigurasikan stempel waktu sisi klien untuk tabel di Amazon Keyspaces
<a name="client-side-timestamps-existing-table"></a>

Ikuti contoh berikut untuk mengaktifkan stempel waktu sisi klien untuk tabel yang ada menggunakan Amazon Keyspaces, Cassandra Query Language (CQL) Konsol Manajemen AWS, atau. AWS Command Line Interface

------
#### [ Console ]

**Untuk mengaktifkan stempel waktu sisi klien untuk tabel yang ada (konsol)**

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon Keyspaces di https://console.aws.amazon.com/keyspaces/ rumah.](https://console.aws.amazon.com/keyspaces/home)

1. Pilih tabel yang ingin Anda perbarui, lalu pilih tab **Pengaturan tambahan**.

1. **Pada tab **Pengaturan tambahan**, buka **Modify client-side timestamps dan pilih Turn on client-side timestamps****

1. Pilih **Simpan perubahan** untuk mengubah pengaturan tabel.

------
#### [ Cassandra Query Language (CQL) ]

**Menggunakan pernyataan CQL**

1. Aktifkan stempel waktu sisi klien untuk tabel yang ada dengan pernyataan CQL. `ALTER TABLE`

   ```
   ALTER TABLE my_table WITH custom_properties = {'client_side_timestamps': {'status': 'enabled'}};;
   ```

1. Untuk mengonfirmasi pengaturan stempel waktu sisi klien untuk tabel baru, gunakan `SELECT` pernyataan untuk meninjau `custom_properties` seperti yang ditunjukkan pada contoh berikut. 

   ```
   SELECT custom_properties from system_schema_mcs.tables where keyspace_name = 'my_keyspace' and table_name = 'my_table';
   ```

   Output dari pernyataan ini menunjukkan status untuk stempel waktu sisi klien.

   ```
   'client_side_timestamps': {'status': 'enabled'}
   ```

------
#### [ AWS CLI ]

**Menggunakan AWS CLI**

1. Anda dapat mengaktifkan stempel waktu sisi klien untuk tabel yang ada menggunakan contoh berikut AWS CLI .

   ```
   ./aws keyspaces update-table \
   --keyspace-name my_keyspace \
   --table-name my_table \
   --client-side-timestamps 'status=ENABLED'
   ```

1. Untuk mengonfirmasi bahwa stempel waktu sisi klien diaktifkan untuk tabel, jalankan kode berikut.

   ```
   ./aws keyspaces get-table \
   --keyspace-name my_keyspace \
   --table-name my_table
   ```

   Outputnya akan terlihat mirip dengan contoh ini dan menyatakan status stempel waktu sisi klien sebagai. `ENABLED`

   ```
   {
       "keyspaceName": "my_keyspace",
       "tableName": "my_table",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/my_keyspace/table/my_table",
       "creationTimestamp": 1662681312.906,
       "status": "ACTIVE",
       "schemaDefinition": {
           "allColumns": [
               {
                   "name": "id",
                   "type": "int"
               },
               {
                   "name": "date",
                   "type": "timestamp"
               },
               {
                   "name": "name",
                   "type": "text"
               }
           ],
           "partitionKeys": [
               {
                   "name": "id"
               }
           ],
           "clusteringKeys": [],
           "staticColumns": []
       },
       "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": 1662681312.906
       },
       "encryptionSpecification": {
           "type": "AWS_OWNED_KMS_KEY"
       },
       "pointInTimeRecovery": {
           "status": "DISABLED"
       },
       "clientSideTimestamps": {
           "status": "ENABLED"
       },
       "ttl": {
           "status": "ENABLED"
       },
       "defaultTimeToLive": 0,
       "comment": {
           "message": ""
       }
   }
   ```

------

# Gunakan stempel waktu sisi klien dalam kueri di Amazon Keyspaces
<a name="client-side-timestamps-how-to-queries"></a>

Setelah Anda mengaktifkan stempel waktu sisi klien, Anda dapat meneruskan stempel waktu di`UPDATE`, dan pernyataan dengan `INSERT` klausa. `DELETE` `USING TIMESTAMP` 

Nilai stempel waktu `bigint` mewakili sejumlah mikrodetik sejak waktu dasar standar yang dikenal sebagaiepoch: 1 Januari 1970 pada 00:00:00 GMT. Stempel waktu yang disediakan oleh klien harus berada di antara kisaran 2 hari yang lalu dan 5 menit di masa depan dari waktu jam dinding saat ini.

Amazon Keyspaces menyimpan metadata stempel waktu untuk masa pakai data. Anda dapat menggunakan `WRITETIME` fungsi ini untuk mencari stempel waktu yang terjadi bertahun-tahun yang lalu. Untuk informasi selengkapnya tentang sintaks CQL, lihat. [Pernyataan DHTML (bahasa manipulasi data) di Amazon Keyspaces](cql.dml.md)

Pernyataan CQL berikut adalah contoh bagaimana menggunakan stempel waktu sebagai. `update_parameter` 

```
INSERT INTO catalog.book_awards (year, award, rank, category, book_title, author, publisher)
   VALUES (2022, 'Wolf', 4, 'Non-Fiction', 'Science Update', 'Ana Carolina Silva', 'SomePublisher') 
   USING TIMESTAMP 1669069624;
```

Jika Anda tidak menentukan stempel waktu dalam kueri CQL Anda, Amazon Keyspaces menggunakan stempel waktu yang diteruskan oleh driver klien Anda. Jika tidak ada stempel waktu yang diberikan oleh driver klien, Amazon Keyspaces menetapkan stempel waktu sisi server untuk operasi penulisan Anda. 

Untuk melihat nilai stempel waktu yang disimpan untuk kolom tertentu, Anda dapat menggunakan `WRITETIME` fungsi dalam `SELECT` pernyataan seperti yang ditunjukkan pada contoh berikut. 

```
SELECT year, award, rank, category, book_title, author, publisher, WRITETIME(year), WRITETIME(award), WRITETIME(rank),
  WRITETIME(category), WRITETIME(book_title), WRITETIME(author), WRITETIME(publisher) from catalog.book_awards;
```