Bancos de dados de valor-chave par em um ambiente de dados grande

Video: Curso MySQL #06 - Alterando a Estrutura da Tabela (ALTER TABLE e DROP TABLE)

De longe, o mais simples dos bancos de dados em um ambiente de dados grande NoSQL (não-only-SQL) são as que empregam o modelo par chave-valor (KVP). bases de dados KVP não requerem um esquema (como RDBMSs) e oferecem grande flexibilidade e escalabilidade.

bases de dados KVP não oferecem capacidade de ACID (atomicidade, consistência, isolamento, durabilidade), e requerem implementadores de pensar sobre a colocação de dados, replicação e tolerância a falhas, pois não são expressamente controlado pela tecnologia em si. bases de dados KVP não são digitados. Como resultado, a maioria dos dados são armazenados como strings.

ChaveValor
CorAzul
LibaçãoCerveja
HeróiSoldado

Este é um conjunto muito simplificada de chaves e valores. Em uma implementação de dados grande, muitas pessoas têm idéias diferentes sobre a cores, libações, e heróis.

ChaveValor
FacebookUser12345_ColorVermelho
TwitterUser67890_Coloracastanhado
FoursquareUser45678_Libation"Vinho branco"
Google + User24356_Libation“Martini seco com um toque”
LinkedInUser87654_Hero“Performer Top de vendas”

Como o número de usuários aumenta, mantendo o controle de chaves precisas e valores relacionados podem ser um desafio. Se você precisa manter o controle das opiniões de milhões de usuários, o número de pares chave-valor associado com eles pode aumentar exponencialmente. Se você não deseja restringir as escolhas para os valores, a representação da cadeia genérica de KVP fornece flexibilidade e legibilidade.

Você pode precisar de alguns dados de ajuda para organizar adicionais em um banco de dados de valor-chave. A maioria oferece a capacidade de chaves agregados (e seus valores relacionados) em uma coleção. As coleções podem consistir de qualquer número de pares chave-valor e não requerem controle exclusivo dos elementos KVP individuais.

Um banco de dados par chave-valor de código aberto amplamente utilizado é chamado Riak. Ele é desenvolvido e suportado por uma empresa chamada Basho Technologies e está disponível sob a v2.0 Apache Software License.

Video: Bancos de Dados - Aula 06 – Mapeamento MER → Relacional - Parte I: entidades, atributos, chaves

Riak é uma implementação muito rápida e escalável de um banco de dados de valor-chave. Ele suporta um ambiente de alto volume com rápida mudança de dados, porque é leve. Riak é particularmente eficaz na análise em tempo real da negociação de serviços financeiros. Ele usa “baldes” como um mecanismo de organização para coleções de chaves e valores.

implementações Riak são aglomerados de nós físicos ou virtuais organizados de forma peer-to-peer. Não existe nó mestre, de modo que o conjunto é resiliente e altamente escalável. Todos os dados e operações são distribuídos em todo o cluster. Cluster maior executar melhor e mais rápido do que aglomerados com menos nós. Comunicação no cluster é implementado através de um protocolo especial chamado fofoca. Fofoca armazena informações de status sobre as informações de cluster e ações sobre baldes.

Riak tem muitos recursos e é parte de um ecossistema que consiste no seguinte:



  • Processamento paralelo: Usando MapReduce, Riak suporta uma capacidade de decompor e recompor consultas em todo o cluster para análise em tempo real e computação.

  • Links e ligação curta: Riak pode ser construído de modo a imitar uma base de dados gráfico utilizando ligações. Um link pode ser pensado como uma conexão unidirecional entre pares chave-valor. Caminhando (seguinte) as ligações irá fornecer um mapa de relações entre pares chave-valor.

  • Pesquisa: Riak Search tem uma capacidade de pesquisa de texto completo distribuído tolerante a falhas,. Baldes podem ser indexados para uma rápida resolução de valor para as chaves.

  • Índices secundários: Os desenvolvedores podem marcar valores com um ou mais valores de chave de campo. O aplicativo pode então consultar o índice e retornar uma lista de chaves correspondentes. Isto pode ser muito útil em grandes implementações de dados porque a operação é atômica e apoiará comportamentos em tempo real.

implementações Riak são mais adequados para

  • Os dados do usuário para redes sociais, comunidades, ou jogos

    Video: Manipulando Banco de Dados com PHP

  • De alto volume, a coleta de dados de mídia rica e armazenamento

  • camadas de cache para ligar RDBMS e bases de dados NoSQL

  • As aplicações móveis que requerem flexibilidade e confiabilidade


Publicações relacionadas