

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

Un *espacio de claves* agrupa tablas relacionadas que son relevantes para una o más aplicaciones. En términos de un sistema de administración de bases de datos relacionales (RDBMS), los espacios de claves son aproximadamente similares a las bases de datos, espacios de tablas o construcciones similares.

**nota**  
En Apache Cassandra, los espacios de claves determinan cómo se replican los datos entre varios nodos de almacenamiento. Sin embargo, Amazon Keyspaces es un servicio totalmente administrado: los detalles de su capa de almacenamiento se administran en su nombre. Por este motivo, los espacios de claves en Amazon Keyspaces son solo construcciones lógicas y no están relacionados con el almacenamiento físico subyacente.

Para obtener información sobre los límites de cuota y las restricciones de los espacios de claves de Amazon Keyspaces, consulte [Cuotas para Amazon Keyspaces (para 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>

Utilice la instrucción `CREATE KEYSPACE` para crear un nuevo espacio de claves.

**Sintaxis**

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

Donde:
+ `keyspace_name` es el nombre del espacio de claves que se va a crear.
+ *opciones* son una o más de las siguientes opciones:
  + `REPLICATION`: un mapa que indica la estrategia de réplica del espacio de claves:
    + `SingleRegionStrategy`: para un espacio de claves de región única. (Obligatorio) 
    + `NetworkTopologyStrategy`— Especifique al menos dos Regiones de AWS. El factor de réplica para cada región es tres. (Opcional)
  + `DURABLE_WRITES`: las escrituras en Amazon Keyspaces son siempre duraderas, por lo que esta opción no es necesaria. Sin embargo, si se especifica, el valor debe ser `true`.
  + `TAGS`: una lista de etiquetas de par clave-valor que se vinculan al recurso al crearlo. (Opcional)

**Ejemplo**

Cree un espacio de claves de la siguiente manera.

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

Para crear un espacio de claves multirregional, especifique `NetworkTopologyStrategy` e incluya al menos dos. Regiones de AWS El factor de réplica para cada región es tres.

```
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>

*Puede usar la `ALTER KEYSPACE WITH` instrucción para las siguientes opciones*
+ `REPLICATION`— Utilice esta opción para añadir una nueva Región de AWS réplica a un espacio de claves. Puede añadir una nueva región a un espacio de claves de una sola región o de varias regiones. 
+ `TAGS`— Utilice esta opción para añadir o eliminar etiquetas de un espacio de teclas.

**Sintaxis**

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

Donde:
+ `keyspace_name` es el nombre del espacio de claves que se va a modificar.
+ *las opciones* son una de las siguientes:
  + `ADD | DROP TAGS`: una lista de etiquetas de par clave-valor que se van a añadir o eliminar del espacio de claves. 
  + `REPLICATION`— Un mapa que indica la estrategia de replicación del espacio de claves; 
    + `class`— `NetworkTopologyStrategy` define el espacio de claves como un espacio de claves multirregional.
    + `region`— Especifique uno adicional Región de AWS para este espacio de claves. El factor de réplica para cada región es tres.
    + `CLIENT_SIDE_TIMESTAMPS`— El valor predeterminado es`DISABLED`. Solo puede cambiar el estado a`ENABLED`.

**Ejemplos**

Modifique un espacio de teclas como se muestra en el siguiente ejemplo para añadir etiquetas.

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

Para añadir una tercera región a un espacio de claves de varias regiones, puede utilizar la siguiente instrucción.

```
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>

Utilice la `DROP KEYSPACE` instrucción para eliminar un espacio de claves, incluido todo su contenido, como las tablas.

**Sintaxis**

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

Donde:
+ *keyspace\$1name* es el nombre del espacio de claves que se va a eliminar.

**Ejemplo**

```
DROP KEYSPACE my_keyspace;
```

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

Utilice la `USE` sentencia para definir el espacio de claves actual. Esto le permite hacer referencia a objetos enlazados a un espacio de claves específico, por ejemplo, tablas y tipos, sin utilizar el nombre completo que incluye el prefijo del espacio de claves. 

**Sintaxis**

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

Donde:
+ *keyspace\$1name es el nombre del* espacio de claves que se va a utilizar.

**Ejemplo**

```
USE my_keyspace;
```