

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Un *keyspace* regroupe les tables associées qui sont pertinentes pour une ou plusieurs applications. En termes de système de gestion de base de données relationnelle (SGBDR), les keyspaces sont à peu près similaires aux bases de données, tablespaces ou constructions similaires.

**Note**  
Dans Apache Cassandra, les keyspaces déterminent la réplique des données entre plusieurs nœuds de stockage. Cependant, Amazon Keyspaces est un service entièrement géré : les détails de sa couche de stockage sont gérés en votre nom. Pour cette raison, les espaces clés d'Amazon Keyspaces sont uniquement des constructions logiques et ne sont pas liés au stockage physique sous-jacent.

Pour plus d'informations sur les limites de quota et les contraintes pour les espaces de clés Amazon Keyspaces, consultez. [Quotas pour Amazon Keyspaces (pour Apache Cassandra)](quotas.md)

**Topics**
+ [CREATE KEYSPACE](#cql.ddl.keyspace.create)
+ [ALTER KEYSPACE](#cql.ddl.keyspace.alter)
+ [DROP KEYSPACE](#cql.ddl.keyspace.drop)
+ [USE](#cql.ddl.keyspace.use)

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

Utilisez l'instruction `CREATE KEYSPACE` pour créer un nouveau keyspace.

**Syntaxe**

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

Où :
+ `keyspace_name` est le nom du keyspace à créer.
+ Les *options* peuvent être les suivantes :
  + `REPLICATION`— Une carte qui indique la stratégie de réplication pour le keyspace :
    + `SingleRegionStrategy`— Pour un keyspace à région unique. (Obligatoire)
    + `NetworkTopologyStrategy`— Spécifiez au moins deux Régions AWS. Le facteur de réplication pour chaque région est de trois. (Facultatif)
  + `DURABLE_WRITES`— Les écritures sur Amazon Keyspaces sont toujours durables, cette option n'est donc pas requise. Toutefois, si elle est spécifiée, la valeur doit être `true`.
  + `TAGS`— Une liste de balises de paires clé-valeur à associer à la ressource lorsque vous la créez. (Facultatif)

**Exemple**

Créez un keyspace comme suit.

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

Pour créer un espace de touches multirégional, spécifiez-en `NetworkTopologyStrategy` et incluez-en au moins deux. Régions AWS Le facteur de réplication pour chaque région est de trois.

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

## ALTER KEYSPACE
<a name="cql.ddl.keyspace.alter"></a>

Vous pouvez utiliser l'`ALTER KEYSPACE WITH`instruction pour les *options* suivantes
+ `REPLICATION`— Utilisez cette option pour ajouter une nouvelle Région AWS réplique à un keyspace. Vous pouvez ajouter une nouvelle région à un keyspace à région unique ou multirégional. 
+ `TAGS`— Utilisez cette option pour ajouter ou supprimer des balises dans un espace de touches.

**Syntaxe**

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

Où :
+ `keyspace_name` est le nom du keyspace à modifier.
+ *les options* sont l'une des suivantes :
  + `ADD | DROP TAGS`— Une liste de balises de paires clé-valeur à ajouter ou à supprimer de l'espace clé. 
  + `REPLICATION`— Une carte qui indique la stratégie de réplication pour le keyspace ; 
    + `class`— `NetworkTopologyStrategy` définit le keyspace comme étant un keyspace multirégional.
    + `region`— Spécifiez une touche supplémentaire Région AWS pour cet espace de touches. Le facteur de réplication pour chaque région est de trois.
    + `CLIENT_SIDE_TIMESTAMPS`— La valeur par défaut est`DISABLED`. Vous ne pouvez modifier le statut que sur`ENABLED`.

**Exemples**

Modifiez un espace de touche comme indiqué dans l'exemple suivant pour ajouter des balises.

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

Pour ajouter une troisième région à un espace de touches multirégional, vous pouvez utiliser l'instruction suivante.

```
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'};
```

## DROP KEYSPACE
<a name="cql.ddl.keyspace.drop"></a>

Utilisez l'`DROP KEYSPACE`instruction pour supprimer un espace de touches, y compris l'ensemble de son contenu, tel que les tableaux.

**Syntaxe**

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

Où :
+ *keyspace\$1name* est le nom du keyspace à supprimer.

**Exemple**

```
DROP KEYSPACE my_keyspace;
```

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

Utilisez l'`USE`instruction pour définir le keyspace actuel. Cela vous permet de faire référence à des objets liés à un espace de touches spécifique, par exemple des tables et des types, sans utiliser le nom complet qui inclut le préfixe d'espace-clé. 

**Syntaxe**

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

Où :
+ *keyspace\$1name* est le nom du keyspace à utiliser.

**Exemple**

```
USE my_keyspace;
```