MariaDB com Cassandra SE

Cassandra é uma base de dados mantida pela Apache Software Foundation, é baseado no Dynamo (da Amazon) e Big Table (da Google).

Foi desenvolvida inicialmente pela Facebook, no entanto a Apache é responsável pelo atual desenvolvimento.

Uma base de dados com um background interessante e baseado em tecnologias de alta performance.

E porque não juntar o MariaDB com o Cassandra, porque não integrar RDBMS com NoSQL 🙂

Utilizei duas VMs com CentOS 6.5 32bits (mariadb.m04m.com e cassandra.m04m.com) para este teste.

Software Necessário:
– MariaDB Server 10.0.6 – http://yum.mariadb.org/10.0.6/centos6-x86/rpms/
Especificamente os rpms:

MariaDB-10.0.6-centos6-i686-cassandra-engine.rpm
MariaDB-10.0.6-centos6-i686-client.rpm
MariaDB-10.0.6-centos6-i686-common.rpm
MariaDB-10.0.6-centos6-i686-compat.rpm
MariaDB-10.0.6-centos6-i686-server.rpm

– Cassandra DB 1.2.12 – http://cassandra.apache.org/download/

1) Preparação da BD Cassandra:

– Após o download, extrair os binários para o filesystem no meu caso ficou /cassandra/apache-cassandra-1.2.12.
– Configuração dos binários:

mkdir -p /var/log/cassandra
chown -R `whoami` /var/log/cassandra
mkdir -p /var/lib/cassandra
chown -R `whoami` /var/lib/cassandra

– Editar o /cassandra/apache-cassandra-1.2.12/conf/cassandra.yaml para configurar o hostname, conforme ficou abaixo:

[root@cassandra conf]# cat cassandra.yaml | grep cassandra.m04m.com
listen_address: cassandra.m04m.com
rpc_address: cassandra.m04m.com

– Iniciar o serviço do Cassandra:

/cassandra/apache-cassandra-1.2.12/bin/cassandra -f

2) Criar o Keyspace:

[root@cassandra apache-cassandra-1.2.12]# bin/cqlsh cassandra.m04m.com 9160 -2
Connected to Test Cluster at cassandra.m04m.com:9160.
[cqlsh 3.1.8 | Cassandra 0.0.0 | CQL spec 2.0.0 | Thrift protocol 19.36.1]
Use HELP for help.
cqlsh> CREATE KEYSPACE mariadbtest WITH
… strategy_class = ‘org.apache.cassandra.locator.SimpleStrategy’ AND
… strategy_options:replication_factor = ‘1’;

cqlsh> USE mariadbtest;
cqlsh:mariadbtest> create columnfamily moam1 ( pk varchar primary key, data1 varchar, data2 bigint);

3) Agora é configurar o MariaDB com Cassandra Storage Engine.

rpm -ivh MariaDB-10.0.6-centos6-i686-cassandra-engine.rpm MariaDB-10.0.6-centos6-i686-client.rpm MariaDB-10.0.6-centos6-i686-common.rpm MariaDB-10.0.6-centos6-i686-compat.rpm MariaDB-10.0.6-centos6-i686-server.rpm

4) Iniciar o serviço do MariaDB:

srvctl mysql start

5) É recomendado executar o comando mysql_secure_instalation para algumas configurações básicas de segurança, inclusive na definição de uma password.

6) Criação de uma tabela com Cassandra SE:

create table t1 (
pk varchar(36) primary key,
data1 varchar(60), data2 bigint
) engine=cassandra thrift_host=’cassandra.m04m.com’ keyspace=’mariadbtest’ column_family=’moam1′;

7) Inserir alguma informação:

insert into t1 values (‘id1’, ‘MOAM’, 123456);
insert into t1 values (‘id2’, ‘Split Brain’, 123456);

8) Testes:

Consegue-se visualizar os dados nos dois lados 🙂

Screenshot

Screenshot-1

Screenshot-2

Mais informações: https://mariadb.com/kb/en/cassandra-storage-engine/

Um comentário em “MariaDB com Cassandra SE

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s