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)
Conteúdo
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.
Chave | Valor |
---|---|
Cor | Azul |
Libação | Cerveja |
Herói | Soldado |
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.
Chave | Valor |
---|---|
FacebookUser12345_Color | Vermelho |
TwitterUser67890_Color | acastanhado |
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