

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Um *espaço de chaves* agrupa tabelas relacionadas que são relevantes para um ou mais aplicativos. Em termos de um sistema de gerenciamento de banco de dados relacional (RDBMS), os espaços de chave são aproximadamente semelhantes aos bancos de dados, espaços de tabela ou construções similares.

**nota**  
No Apache Cassandra, os espaços de chave determinam como os dados são replicados entre vários nós de armazenamento. No entanto, o Amazon Keyspaces é um serviço totalmente gerenciado: os detalhes de sua camada de armazenamento são gerenciados em seu nome. Por esse motivo, os espaços de chave no Amazon Keyspaces são apenas estruturas lógicas e não estão relacionados ao armazenamento físico subjacente.

Para informações sobre limites e restrições de cota para os espaços de chaves do Amazon Keyspaces, consulte [Cotas para Amazon Keyspaces (para Apache Cassandra)](quotas.md).

**Topics**
+ [CRIAR ESPAÇO DE CHAVES](#cql.ddl.keyspace.create)
+ [ALTERAR ESPAÇO DE CHAVES](#cql.ddl.keyspace.alter)
+ [DESCARTAR ESPAÇO DE CHAVES](#cql.ddl.keyspace.drop)
+ [USE](#cql.ddl.keyspace.use)

## CRIAR ESPAÇO DE CHAVES
<a name="cql.ddl.keyspace.create"></a>

Use a instrução `CREATE KEYSPACE` para criar um novo espaço de chaves.

**Sintaxe**

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

Em que:
+ `keyspace_name` é o nome do espaço de chaves a ser criado.
+ *opções* são uma ou mais das seguintes:
  + `REPLICATION`: um mapa que indica a estratégia de replicação para o espaço de chaves:
    + `SingleRegionStrategy`: para um espaço de chaves de região única. (Obrigatório)
    + `NetworkTopologyStrategy`— Especifique pelo menos dois Regiões da AWS. O fator de replicação para cada região é três. (Optional)
  + `DURABLE_WRITES`: as gravações no Amazon Keyspaces são sempre duráveis, portanto, essa opção não é necessária. No entanto, se especificado, o valor deve ser `true`.
  + `TAGS`: uma lista de tags de pares de chave-valor a serem anexadas ao recurso ao ser criado. (Optional)

**Exemplo**

Crie um espaço de chaves da seguinte forma.

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

Para criar um espaço chave multirregional, especifique `NetworkTopologyStrategy` e inclua pelo menos dois. Regiões da AWS O fator de replicação para cada região é três.

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

## ALTERAR ESPAÇO DE CHAVES
<a name="cql.ddl.keyspace.alter"></a>

Você pode usar a `ALTER KEYSPACE WITH` declaração para as seguintes *opções*:
+ `REPLICATION`— Use essa opção para adicionar uma nova Região da AWS réplica a um keyspace. Você pode adicionar uma nova região a uma única região ou a um keyspace multirregional. 
+ `TAGS`— Use essa opção para adicionar ou remover tags de um keyspace.

**Sintaxe**

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

Em que:
+ `keyspace_name` é o nome do espaço de chaves a ser alterado.
+ *as opções* são uma das seguintes:
  + `ADD | DROP TAGS`: uma lista de tags de pares chave-valor a serem adicionadas ou removidas do espaço de chaves. 
  + `REPLICATION`— Um mapa que indica a estratégia de replicação para o keyspace; 
    + `class`— `NetworkTopologyStrategy` define o keyspace como um keyspace multirregional.
    + `region`— Especifique um adicional Região da AWS para esse espaço de teclas. O fator de replicação para cada região é três.
    + `CLIENT_SIDE_TIMESTAMPS`— O padrão é`DISABLED`. Você só pode alterar o status para`ENABLED`.

**Exemplos**

Altere um espaço de teclas conforme mostrado no exemplo a seguir para adicionar tags.

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

Para adicionar uma terceira região a um keyspace multirregional, você pode usar a seguinte declaração.

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

## DESCARTAR ESPAÇO DE CHAVES
<a name="cql.ddl.keyspace.drop"></a>

Use a instrução `DROP KEYSPACE` para remover um espaço de chaves, incluindo todo o seu conteúdo, como tabelas.

**Sintaxe**

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

Em que:
+ *keyspace\$1name é o nome* do espaço de chaves a ser eliminado.

**Exemplo**

```
DROP KEYSPACE my_keyspace;
```

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

Use a `USE` instrução para definir o espaço de teclas atual. Isso permite que você faça referência a objetos vinculados a um espaço de chave específico, por exemplo, tabelas e tipos, sem usar o nome totalmente qualificado que inclui o prefixo do espaço de teclas. 

**Sintaxe**

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

Em que:
+ *keyspace\$1name é o nome* do keyspace a ser usado.

**Exemplo**

```
USE my_keyspace;
```