

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

# Ruang kunci
<a name="cql.ddl.keyspace"></a>

*Ruang kunci mengel * ompokkan tabel terkait yang relevan untuk satu atau lebih aplikasi. Dalam hal sistem manajemen basis data relasional (RDBMS), ruang kunci kira-kira mirip dengan database, tablespaces, atau konstruksi serupa.

**catatan**  
Di Apache Cassandra, keyspace menentukan bagaimana data direplikasi di antara beberapa node penyimpanan. Namun, Amazon Keyspaces adalah layanan yang dikelola sepenuhnya: Detail lapisan penyimpanannya dikelola atas nama Anda. Untuk alasan ini, ruang kunci di Amazon Keyspaces hanya merupakan konstruksi logis, dan tidak terkait dengan penyimpanan fisik yang mendasarinya.

Untuk informasi tentang batas kuota dan batasan untuk ruang kunci Amazon Keyspaces, lihat. [Kuota untuk Amazon Keyspaces (untuk Apache Cassandra)](quotas.md)

**Topics**
+ [BUAT KEYSPACE](#cql.ddl.keyspace.create)
+ [UBAH RUANG TOMBOL](#cql.ddl.keyspace.alter)
+ [JATUHKAN RUANG TOMBOL](#cql.ddl.keyspace.drop)
+ [USE](#cql.ddl.keyspace.use)

## BUAT KEYSPACE
<a name="cql.ddl.keyspace.create"></a>

Gunakan `CREATE KEYSPACE` pernyataan untuk membuat keyspace baru.

**Sintaksis**

```
create_keyspace_statement ::= 
    CREATE KEYSPACE [ IF NOT EXISTS ] keyspace_name
    WITH options
```

Di mana:
+ `keyspace_name`adalah nama keyspace yang akan dibuat.
+ *opsi * adalah satu atau lebih dari berikut ini:
  + `REPLICATION`— Peta yang menunjukkan strategi replikasi untuk ruang kunci:
    + `SingleRegionStrategy`— Untuk ruang tombol wilayah tunggal. (Diperlukan)
    + `NetworkTopologyStrategy`— Tentukan setidaknya dua Wilayah AWS. Faktor replikasi untuk setiap Wilayah adalah tiga. (Opsional)
  + `DURABLE_WRITES`— Menulis ke Amazon Keyspace selalu tahan lama, jadi opsi ini tidak diperlukan. Namun, jika ditentukan, nilainya harus`true`.
  + `TAGS`— Daftar tag pasangan kunci-nilai yang akan dilampirkan ke sumber daya saat Anda membuatnya. (Opsional)

**Contoh**

Buat keyspace sebagai berikut.

```
CREATE KEYSPACE {{my_keyspace}}
    WITH REPLICATION = {'class': 'SingleRegionStrategy'} and TAGS ={'key1':'val1', 'key2':'val2'} ;
```

Untuk membuat ruang kunci Multi-wilayah, tentukan `NetworkTopologyStrategy` dan sertakan setidaknya dua. Wilayah AWS Faktor replikasi untuk setiap Wilayah adalah tiga.

```
CREATE KEYSPACE {{my_keyspace}}
    WITH REPLICATION = {'class':'NetworkTopologyStrategy', 'us-east-1':'3', 'ap-southeast-1':'3','eu-west-1':'3'};
```

## UBAH RUANG TOMBOL
<a name="cql.ddl.keyspace.alter"></a>

Anda dapat menggunakan `ALTER KEYSPACE WITH` pernyataan untuk * opsi berikut *
+ `REPLICATION`— Gunakan opsi ini untuk menambahkan Wilayah AWS replika baru ke keyspace. Anda dapat menambahkan Wilayah baru ke wilayah Tunggal atau ke ruang kunci Multi-wilayah. 
+ `TAGS`— Gunakan opsi ini untuk menambah atau menghapus tag dari ruang tombol.

**Sintaksis**

```
alter_keyspace_statement ::= 
    ALTER KEYSPACE keyspace_name
    WITH options
```

Di mana:
+ `keyspace_name`adalah nama keyspace yang akan diubah.
+ *opsi * adalah salah satu dari berikut ini:
  + `ADD | DROP TAGS`— Daftar tag pasangan kunci-nilai yang akan ditambahkan atau dihapus dari ruang kunci. 
  + `REPLICATION`— Peta yang menunjukkan strategi replikasi untuk ruang kunci; 
    + `class`— `NetworkTopologyStrategy` mendefinisikan keyspace sebagai ruang kunci Multi-wilayah.
    + `region`— Tentukan satu tambahan Wilayah AWS untuk ruang tombol ini. Faktor replikasi untuk setiap Wilayah adalah tiga.
    + `CLIENT_SIDE_TIMESTAMPS`— Defaultnya adalah`DISABLED`. Anda hanya dapat mengubah status menjadi`ENABLED`.

**Contoh**

Mengubah keyspace seperti yang ditunjukkan pada contoh berikut untuk menambahkan tag.

```
ALTER KEYSPACE {{my_keyspace}} ADD TAGS {'key1':'val1', 'key2':'val2'};
```

Untuk menambahkan Wilayah ketiga ke ruang kunci Multi-wilayah, Anda dapat menggunakan pernyataan berikut.

```
ALTER KEYSPACE {{my_keyspace}}
WITH REPLICATION = {
    'class': 'NetworkTopologyStrategy',
    'us-east-1': '3',
    'us-west-2': '3',
    'us-west-1': '3'
} AND CLIENT_SIDE_TIMESTAMPS = {'status': 'ENABLED'};
```

## JATUHKAN RUANG TOMBOL
<a name="cql.ddl.keyspace.drop"></a>

Gunakan `DROP KEYSPACE` pernyataan untuk menghapus ruang tombol — termasuk semua isinya, seperti tabel.

**Sintaksis**

```
drop_keyspace_statement ::= 
    DROP KEYSPACE [ IF EXISTS ] keyspace_name
```

Di mana:
+ *keyspace\_name * adalah nama keyspace yang akan dijatuhkan.

**Contoh**

```
DROP KEYSPACE my_keyspace;
```

## USE
<a name="cql.ddl.keyspace.use"></a>

Gunakan `USE` pernyataan untuk menentukan ruang tombol saat ini. Ini memungkinkan Anda untuk merujuk ke objek yang terikat ke ruang kunci tertentu, misalnya tabel dan tipe, tanpa menggunakan nama yang sepenuhnya memenuhi syarat yang menyertakan awalan ruang kunci. 

**Sintaksis**

```
use_statement ::= 
    USE keyspace_name
```

Di mana:
+ *keyspace\_name * adalah nama keyspace yang akan digunakan.

**Contoh**

```
USE my_keyspace;
```