Este é o segundo de três posts sobre como criar uma API utilizando o NodeJS e o Apache Cassandra.
Não vou discutir qual é o banco mais indicado para seu projeto, deixo aqui alguns benchmarks encontrados na internet para que você possa tomar a decisão.
Neste momento, vamos preparar nossa base para receber os dados de nossa API. Para nosso exemplo apenas armazenaremos dados simples de email e senha. Apenas focado em uma autenticação simples.
Com o Docker do Cassandra rodando como descrito no artigo anterior, vamos agora nos conectar na base de dados.
Se você criou as pastas como indicado, vamos iniciar o prompt do cassandra em uma maquina docker temporária, execute o comando abaixo:
docker run -it --link cassandranode_cassandra_1:cassandra --rm cassandra sh -c 'exec cqlsh "$CASSANDRA_PORT_9042_TCP_ADDR"'
O termo cassandranode_cassandra_1 encontrado no comando acima se refere ao nome do Docker que esta rodando o cassandra no Kitematic.
Desta forma, deve ver o prompt do cassandra rodando no terminal:
cqlsh>
A primeira coisa que faremos é criar o Keyspace. O Keyspace do cassandra é como se fosse o Schema do banco de dados. É nesse espaço que criaremos nossa tabela depois.
Vamos criar o Keyspace:
cqlsh> CREATE KEYSPACE demo
... WITH REPLICATION = {
... 'class' : 'SimpleStrategy',
... 'replication_factor' : 1
... };
Os parâmetros passados para replicação não serão tratados aqui.
Verifique se o Keyspace foi criado:
cqlsh> DESC KEYSPACES;
demo system_schema system_auth ...
Defina o Keyspace que vamos trabalhar agora.
cqlsh> USE demo;
E crie nossa tabela
cqlsh:demo> CREATE TABLE users (
... email text,
... password text,
... PRIMARY KEY (email)
... );
Criamos nossa tabela, para ver que tudo esta no banco execute o comando:
cqlsh:demo> DESC SCHEMA;
Desta forma deixamos nosso banco pronto para nosso exemplo de API em NodeJS que será finalizado no próximo artigo.