Riak um Banco de Dados NoSQL
Programa de Pós Graduação em Informática - 2014
Disciplina: Banco de Dados Não Convencional
Professora: Dra. Maristela Terto de Holanda
Aluno:
Daniel Cosme Mendonça Maia
Banco de Dados NoSQL Riak
Riak é um banco de dados NoSQL, open-source, escrito na linguagem de programação Erlang. O Riak pode ser classificado como um banco de dados
NoSQL do tipo "armazenamento chave-valor", devido suas funcionalidades e características:
Objetos Riak podem ser buscados e armazenados no formato JSON;
O Riak não suporta índices em outros campos, exceto a chave primária.
As pesquisas no Riak são realizadas apenas através da chave primária.
O Riak suporta replicação de objetos e "sharding" (estilhaçamento) do hash na chave primária. O banco permite que os valores replicados fiquem temporariamente inconsistentes. A consistência é ajustável especificando quantas réplicas (em diferentes nós) devem responder para uma leitura e gravação bem sucedida.
Riak utiliza um Controle de Concorrência Multi-Versão onde relógios vetoriais são atribuídos quando valores são atualizados.
A arquitetura do Riak é simétrica e simples. Não existe um nó para controlar o
"status" do sistema. O Riak usa um protocolo de "fofocas" para rastrear quem está vivo e quem tem os dados, assim qualquer nó pode atender as requisições dos clientes. O banco também inclui um mecanismo de map/reduce para dividir o trabalho sobre todos os nós do cluster.
A interface cliente do Riak é baseada em requisições RESTful HTTP. A interface pode ser programada em Erlang, Java e outras linguagens.
O armazenamento do Riak é "pluggable": a chave-valor pode estar na memória, em tabelas ETS, DETS ou em Osmos. Essas tabelas são implementadas em Erlang, com diferentes performances e propriedades.
Uma característica única do Riak é o armazenamento de links entre objetos. Os links reduzem a necessidade de índices secundários.
Em seguida, um exemplo de um objeto Riak