Pplware

Apache Cassandra: Tecnologia NoSQL de alta disponibilidade (2)

O Apache Cassandra é um Sistema de gestão de bases de dados NoSQL desenvolvido para garantir rápida escalabilidade e alta disponibilidade dos dados. Depois de apresentarmos o potencial desta plataforma e de ensinarmos a instalar vamos aprender como criar uma estrutura de dados distribuída.

O Apache Cassandra foi criado inicialmente pelo Facebook, como open source, em 2008. Atualmente o projeto é baseado na tecnologia emergente NoSQL e pertence à Fundação Apache.

No último artigo mostramos o processo de instalação desta plataforma e hoje vamos aprender a construir a vossas bases de dados no Cassandra Shell (CQLSH).

Caso só vejam um nó, poderão ter de permitir a comunicação nos portos 7000 e 9042 da vossa firewall em ambos os nós.

Nó 1

sudo iptables -A INPUT -p tcp -s  -m multiport --dports 7000,9042 -m state --state NEW,ESTABLISHED -j ACCEPT

Nó 2

sudo iptables -A INPUT -p tcp -s  -m multiport --dports 7000,9042 -m state --state NEW,ESTABLISHED -j ACCEPT

Depois de vem fazer novamente sudo nodetool status e verificar se o vosso cluster já deteta a comunicação entre os dois nós. Vamos então aprender alguns  comandos para usar no Cassandra.

Entrar no Cassandra Shell
cqlsh <ip de um dos nodes>
Exemplo de criação de uma nova Keyspace
CREATE KEYSPACE IF NOT EXISTS <nome_keyspace> WITH replication = {'class': 'NetworkTopologyStrategy', 'dc1':2};

Estamos a criar um novo Keyspace mapeado com base no nosso GossipSnitch para escolher os nodes para onde replicar os dados, no nosso datacenter dc1 (default) e com 2 réplicas.

Entrar no novo Keyspace criado
use NOME_KEYSPACE;
Ver as nossas Keyspaces
describe keyspaces;
Ver detalhes da nossa Keyspace criada

Criar uma nova tabela
CREATE TABLE  (id_tabela int PRIMARY KEY, campo1 varchar);

A partir daqui a sintaxe é semelhante à do MySQL, para mais detalhe tanto na configuração do cluster Cassandra como o Cassandra Query Language consultem a documentação do Cassandra aqui.

Exit mobile version