Este post apresenta a instalação e utilização do Apache Cassandra, usando Docker.
Baixando a Imagem Docker
$ sudo docker pull cassandra
Esse comando efetuará o download da última versão do Cassandra (latest)
Verificando a Imagem
$ sudo docker images
Resultado
REPOSITORY TAG IMAGE ID CREATED SIZE
cassandra latest 8ea89760ce2b 5 weeks ago 323MB
Subindo o Cassandra
$ sudo docker run --name node1 -d cassandra:lastest
Resultado
f451246389a40761b5a70cbb2d665801f3b2356afcd3abf6ee9a7aa4bd1fe064
Baixando o Cassandra
$ sudo docker stop f451246389a40761b5a70cbb2d665801f3b2356afcd3abf6ee9a7aa4bd1fe064
Removendo
$ sudo docker rm node1
Verificando processos
$ docker exec -it node1 nodetool status
Ferramenta shell CQL
Dentro do container é possível executar o cqlsh.
$ docker exec -it node1 cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.0 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>
Criando Keyspace
cqlsh> CREATE KEYSPACE myspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 3};
Criando uma tabela
CREATE TABLE myspace.exam (
patient_id int,
id int,
date timeuuid,
details text,
PRIMARY KEY (patient_id, id));
Inserindo dados
INSERT INTO exam (patient_id,id,date,details) values (1,1,now(),'first exam patient 1');
INSERT INTO exam (patient_id,id,date,details) values (1,2,now(),'second exam patient 1');
INSERT INTO exam (patient_id,id,date,details) values (2,1,now(),'first exam patient 2');
INSERT INTO exam (patient_id,id,date,details) values (3,1,now(),'first exam patient 3');
Consultando dados
cqlsh:patient> select * from exam where patient_id=1;