Cassandra Select

Cassandra Select

Apache Cassandra é um dos líderes nos bancos de dados NOSQL de coluna ampla. Além disso, é uma solução gratuita e de código aberto para dados sem esquema. Como resultado, Cassandra é uma escolha popular em ambientes que precisam lidar com dados de escala extensivos com latência mínima e recursos de alta disponibilidade.

Cassandra fornece a linguagem de consulta Cassandra com uma poderosa linguagem de consulta para interagir com as teclas de Cassandra. O CQL é intimamente semelhante ao SQL e fornece comandos e sintaxe semelhantes para operações semelhantes. Isso torna Cassandra facilmente acessível pelos desenvolvedores de bancos de dados relacionais.

Neste tutorial, aprenderemos a usar o comando select em Cassandra. O comando select nos permite buscar os registros de uma tabela Cassandra.

Vamos mergulhar.

Sintaxe de comando

O comando segue uma sintaxe relativamente simples. A sintaxe do comando é como mostrado no seguinte código de snippet:

Selecione * | select_expression | Partição distinta
De [keyspace_name.] Nome da tabela
[Onde partition_value
[E clustering_filters
[E static_filters]]]
[Ordem por PK_COLUMN_NAME ASC | DESC]
[Limite n]
[Permitir filtragem]

O comando retorna as linhas especificadas da tabela de destino:

Nota: Como Cassandra foi projetada para lidar com dados em larga escala, não é recomendável buscar todas as linhas de uma tabela como faria em um banco de dados relacional.

Dados de amostra

Antes de aprender a selecionar os dados de uma tabela usando a instrução SELECT, vamos configurar um exemplo de dados para ilustração.

Comece criando um espaço de amostra:

Crie Keyspace Linuxhint com replicação = 'class': 'SimleStrategy', 'Replicação_factor': 3,;

Alterne o espaço de chave atual usando o seguinte comando:

Use Linuxhint;

Crie uma tabela de amostra usando o seguinte comando:

CQLSH: Linuxhint> Criar usuários da tabela (ID INT, Texto do nome de usuário, texto em email, ativo int, chave primária (ID));

Adicione um exemplo de dados como mostrado:

CQLSH: Linuxhint> Inserir em usuários (ID, nome de usuário, email, ativo) valores (0, 'user1', '[email protected] ', 1);
CQLSH: Linuxhint> Inserir em usuários (ID, nome de usuário, email, ativo) valores (1, 'user2', '[email protected] ', 1);
CQLSH: Linuxhint> Inserir em usuários (ID, nome de usuário, email, ativo) valores (2, 'user3', '[email protected] ', 0);
CQLSH: Linuxhint> Inserir em usuários (ID, nome de usuário, email, ativo) valores (3, 'user4', '[email protected] ', 0);
CQLSH: Linuxhint> Inserir em usuários (ID, nome de usuário, email, ativo) valores (4, 'user5', '[email protected] ', 1);

Exemplos

A seção a seguir fornece os exemplos de realização das instruções de seleção comuns em um cluster de Cassandra.

Exemplo 1: selecione todos os registros

Em Cassandra, podemos selecionar todos os registros de uma tabela usando a consulta como mostrado:

cqlsh: linuxhint> selecione * de usuários;

Usamos a instrução SELECT nesta consulta para selecionar todas as colunas da tabela de usuários.

A consulta anterior deve retornar a saída como mostrado:

id | ativo | Email | nome de usuário
----+--------+---------------+----------
1 | 1 | [email protected] | usuário2
0 | 1 | [email protected] | usuário1
2 | 0 | [email protected] | usuário3
4 | 1 | [email protected] | usuário5
3 | 0 | [email protected] | usuário4

OBSERVAÇÃO: Como mencionado, isso não é recomendado para um grande conjunto de dados.

Exemplo 2: Selecione colunas específicas

Podemos selecionar colunas específicas de uma tabela especificando as colunas como valores separados por vírgula.

Por exemplo, para selecionar as colunas de ID, nome de usuário e e -mail, podemos executar o seguinte comando:

CQLSH: Linuxhint> Selecione ID, email, nome de usuário dos usuários;

Nesse caso, o comando deve retornar uma saída da seguinte forma:

id | Email | nome de usuário
----+---------------+----------
1 | [email protected] | usuário2
0 | [email protected] | usuário1
2 | [email protected] | usuário3
4 | [email protected] | usuário5
3 | [email protected] | usuário4
(5 linhas)

Exemplo 3: Usando aliases da coluna

Para tornar a saída mais legível, podemos usar os aliases da coluna que dão nomes personalizados ao resultado da saída.

Por exemplo:

CQLSH: Linuxhint> Selecione ID como user_index, e -mail como email_address, nome de usuário como identificador dos usuários;

A palavra -chave AS na consulta permite renomear a coluna para um nome de alias sem fazer alterações permanentes na tabela.

Por exemplo, a consulta anterior retorna o resultado como:

user_index | email_address | identificador
------------+---------------+------------
1 | [email protected] | usuário2
0 | [email protected] | usuário1
2 | [email protected] | usuário3
4 | [email protected] | usuário5
3 | [email protected] | usuário4
(5 linhas)

Observe que as colunas ID, email e nome de usuário são renomeadas para user_index, email_address e identificador, respectivamente.

Exemplo 4: Limitando o número de linhas

Usando a opção Limit, também podemos limitar o número de registros retornados pela consulta selecionada. A cláusula de limite leva um número inteiro representando o número de linhas para recuperar.

Por exemplo, para buscar as três primeiras linhas, podemos executar o seguinte comando:

CQLSH: Linuxhint> Selecione * From Usuários Limite 3;

A saída resultante é a seguinte:

id | ativo | Email | nome de usuário
----+--------+---------------+----------
1 | 1 | [email protected] | usuário2
0 | 1 | [email protected] | usuário1
2 | 0 | [email protected] | usuário3
(3 linhas)

Exemplo 5: Filtrando dados

Também podemos buscar os dados que correspondem a uma condição específica usando a cláusula WHERE. Isso nos permite especificar uma condição que retorne verdadeira/falsa e retorna os valores correspondentes.

Por exemplo, para buscar todas as linhas em que o valor da coluna ativo é igual a 1, podemos fazer o seguinte:

cqlsh: linuxhint> selecione * de usuários onde ativo = 1 Permitir filtragem;

A consulta anterior deve retornar apenas as linhas onde a coluna ativa = 1.

id | ativo | Email | nome de usuário
----+--------+---------------+----------
1 | 1 | [email protected] | usuário2
0 | 1 | [email protected] | usuário1
4 | 1 | [email protected] | usuário5
(3 linhas)

OBSERVAÇÃO: O comando de filtragem permite que Cassandra use os recursos de filtragem de dados.

RECOMENDAÇÃO: Use apenas a filtragem de permitir apenas para fins de desenvolvimento.

Conclusão

Neste artigo, você aprendeu os fundamentos da seleção dos dados de uma tabela Cassandra usando a instrução CQL Select.

Obrigado pela leitura!