

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Un *keyspace* raggruppa tabelle correlate rilevanti per una o più applicazioni. In termini di sistema di gestione di database relazionali (RDBMS), gli spazi chiave sono più o meno simili a database, tablespace o costrutti simili.

**Nota**  
In Apache Cassandra, i keyspace determinano il modo in cui i dati vengono replicati tra più nodi di storage. Tuttavia, Amazon Keyspaces è un servizio completamente gestito: i dettagli del relativo livello di storage vengono gestiti per tuo conto. Per questo motivo, gli spazi chiave in Amazon Keyspaces sono solo costrutti logici e non sono correlati allo storage fisico sottostante.

Per informazioni sui limiti e i vincoli di quota per gli spazi chiave di Amazon Keyspaces, consulta. [Quote per Amazon Keyspaces (per Apache Cassandra)](quotas.md)

**Topics**
+ [CREA KEYSPACE](#cql.ddl.keyspace.create)
+ [ALTERA LO SPAZIO DEI TASTI](#cql.ddl.keyspace.alter)
+ [RILASCIA LO SPAZIO CHIAVE](#cql.ddl.keyspace.drop)
+ [USE](#cql.ddl.keyspace.use)

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

Usa l'`CREATE KEYSPACE`istruzione per creare un nuovo keyspace.

**Sintassi**

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

Dove:
+ `keyspace_name`è il nome dello spazio chiave da creare.
+ *le opzioni* sono una o più delle seguenti:
  + `REPLICATION`— Una mappa che indica la strategia di replica per il keyspace:
    + `SingleRegionStrategy`— Per uno spazio chiave a regione singola. (Obbligatorio)
    + `NetworkTopologyStrategy`— Specificarne almeno due. Regioni AWS Il fattore di replica per ogni regione è tre. (Facoltativo)
  + `DURABLE_WRITES`— Le scritture su Amazon Keyspaces sono sempre durevoli, quindi questa opzione non è richiesta. Tuttavia, se specificato, il valore deve essere`true`.
  + `TAGS`— Un elenco di tag di coppia chiave-valore da allegare alla risorsa al momento della creazione. (Facoltativo)

**Esempio**

Create uno spazio chiave come segue.

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

Per creare uno spazio chiave multiregionale, specificatene `NetworkTopologyStrategy` e includetene almeno due. Regioni AWS Il fattore di replica per ogni regione è tre.

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

## ALTERA LO SPAZIO DEI TASTI
<a name="cql.ddl.keyspace.alter"></a>

*È possibile utilizzare l'`ALTER KEYSPACE WITH`istruzione per le seguenti opzioni*
+ `REPLICATION`— Utilizzate questa opzione per aggiungere una nuova Regione AWS replica a un keyspace. È possibile aggiungere una nuova regione a una regione singola o a uno spazio chiave multiregione. 
+ `TAGS`— Utilizzate questa opzione per aggiungere o rimuovere tag da uno spazio chiave.

**Sintassi**

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

Dove:
+ `keyspace_name`è il nome dello spazio chiave da modificare.
+ *le opzioni* sono una delle seguenti:
  + `ADD | DROP TAGS`— Un elenco di tag di coppia chiave-valore da aggiungere o rimuovere dallo spazio delle chiavi. 
  + `REPLICATION`— Una mappa che indica la strategia di replica per il keyspace; 
    + `class`— `NetworkTopologyStrategy` definisce lo spazio chiave come uno spazio chiave multiregionale.
    + `region`— Specificarne uno aggiuntivo Regione AWS per questo keyspace. Il fattore di replica per ogni regione è tre.
    + `CLIENT_SIDE_TIMESTAMPS`— L'impostazione predefinita è`DISABLED`. È possibile modificare lo stato solo in`ENABLED`.

**Esempi**

Modificate un keyspace come mostrato nell'esempio seguente per aggiungere tag.

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

Per aggiungere una terza regione a uno spazio chiave multiregionale, è possibile utilizzare la seguente istruzione.

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

## RILASCIA LO SPAZIO CHIAVE
<a name="cql.ddl.keyspace.drop"></a>

Utilizzate l'`DROP KEYSPACE`istruzione per rimuovere uno spazio chiave, inclusi tutti i suoi contenuti, ad esempio le tabelle.

**Sintassi**

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

Dove:
+ *keyspace\$1name è il nome* dello spazio chiave da eliminare.

**Esempio**

```
DROP KEYSPACE my_keyspace;
```

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

Utilizzate l'`USE`istruzione per definire lo spazio chiave corrente. Ciò consente di fare riferimento a oggetti associati a uno spazio chiave specifico, ad esempio tabelle e tipi, senza utilizzare il nome completo che include il prefisso keyspace. 

**Sintassi**

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

Dove:
+ *keyspace\$1name è il nome* del keyspace da utilizzare.

**Esempio**

```
USE my_keyspace;
```