Chave de acesso de alta velocidade com nosql

lojas de valor-chave na NoSQL são todos sobre a velocidade. É possível utilizar diversas técnicas para maximizar a velocidade que, a partir de dados de armazenamento em cache, para ter múltiplas cópias de dados, ou utilizando as estruturas de armazenamento mais adequadas.

Video: Grupo Gerador 70 kVA - Link Geradores

cache de dados na memória

Como os dados são facilmente acessados ​​quando ele é armazenado na memória de acesso aleatório (RAM), a escolha de um armazenamento de chave-valor que armazena dados na RAM pode acelerar significativamente o seu acesso aos dados, embora ao preço de custos de servidor mais elevados.

Muitas vezes, porém, essa compensação vale a pena fazer. Você pode facilmente calcular que porcentagem de seus dados armazenados é solicitada com freqüência. Se você sabe que cinco por cento é geralmente solicitado a cada poucos minutos, em seguida, tomar cinco por cento do seu tamanho de dados e adicionar esse número como espaço de memória RAM de reposição através de seus servidores de banco de dados.

Tenha em mente que o sistema operacional, outras aplicações, eo servidor de banco de dados tem requisitos de memória, também.

Video: CATRACA BIOMETRIA ALTA VELOCIDADE ELETRONICA IMPRESSAO DIGITAL TOPTEC

Replicação de dados aos escravos

Nas lojas de valor-chave, uma chave particular é armazenada em um dos servidores no cluster. Este processo é chamado particionamento chave. Isto significa que, se essa chave é constantemente solicitado, este nó irá receber a maior parte dos pedidos. Este nó, portanto, será mais lenta do que a velocidade média pedido, potencialmente afetando a qualidade do serviço para os usuários.

Para evitar essa situação, algumas lojas de chave-valor adicionando suporte somente leitura réplicas, também conhecido como escravos. Redis, Riak, e Aerospike são bons exemplos. Replicação permite que a chave para ser armazenado várias vezes em vários servidores, o que aumenta a velocidade de resposta, mas ao custo de mais hardware.

Algumas lojas de valor-chave garante que as réplicas da chave terá sempre o mesmo valor que o mestre. Esta garantia é chamado a ser totalmente consistente. Se uma atualização acontece no servidor mestre segurando a chave, todas as réplicas são garantidos para ser atualizado.

Nem todas as lojas de chave-valor garantir este status (Riak, por exemplo), então se é importante estar atualizado para o milissegundo, em seguida, escolher um banco de dados cujo réplicas são totalmente consistentes (como Aerospike).

modelagem de dados em lojas de valor-chave

Muitas lojas de chave-valor suportam apenas estruturas básicas para os seus tipos de valor, deixando o programador da aplicação com o trabalho de interpretar os dados. Simples tipo de dados de suporte inclui tipicamente strings, inteiros, JSON e valores binários.

Video: DOUTOR-IE Caminhões Volkswagen Constellation Euro 3 (Acesso aos códigos de falhas)

Para muitos casos de uso, isso funciona bem, mas às vezes um acesso um pouco mais granular de dados é útil. Redis, por exemplo, suporta os seguintes tipos de valores de dados:

  • Corda

  • Lista



  • Conjunto

  • conjunto classificado

  • mapas hash

  • matrizes bit

  • toras Hyperlog

conjuntos classificados podem ser consultados por faixas de valores correspondente - bem como consultar um índice de valores organizadas por data, que é muito útil para a busca de um subconjunto de dados digitados.

Operando em dados

Redis inclui operações para aumentar e valores de chave decréscimo diretamente, sem ter que fazer um conjunto de leitura e modificar-update (RMU) de passos. Você pode fazê-lo dentro de uma única transação para garantir que nenhum outro aplicativo altera o valor durante uma atualização. Estas operações específicas de tipo de dados incluem adicionar e remover itens a listas e conjuntos também.

Video: DESCOBRIR CHAVE DE ATIVAÇÃO DO WINDOWS SEM PROGRAMAS | Ezec Tech

Você pode até mesmo fornecer funcionalidade autocomplete na interface do usuário de um aplicativo usando o comando Redis ZRANGEBYLEX. Esse comando recupera um conjunto de chaves que corresponde parcialmente uma corda. Então, se você digitar “NoSQL para” na barra de pesquisa de um aplicativo construído no Redis, você veria a sugestão “NoSQL For Dummies”.

avaliando Redis

Redis se orgulha de ser um armazenamento de chave-valor muito leve, mas incrivelmente rápido. Ele foi originalmente projetado para ser uma loja de valor-chave na memória, mas agora possui armazenamento de dados baseada em disco.

Você pode usar o Redis para proteger os dados, permitindo AOF (anexar único arquivo) Modo e instruindo Redis para forçar dados em disco em cada consulta (conhecido como forçado fsync rubor). AOF faz abrandar as gravações, é claro, mas fornece um maior nível de durabilidade para os dados. Esteja ciente, porém, que ainda é possível perder até um segundo de comandos.

Além disso, o Redis adicionado apenas recentemente suporte para agrupamento. Na verdade, no momento da redação deste texto, suporte a clusters de Redis está em fase de testes beta. Felizmente, Redis usa um modelo de cluster compartilhado nada, com mestres para chaves particulares e escravos que nunca são escritos diretamente para por um cliente-somente o mestre faz isso. Fornecendo compartilhado nada agrupamento deve tornar mais fácil para Redis para implementar agrupamento confiável do que para bancos de dados que permitem que escreve para todas as réplicas.

Se você quer uma camada de cache muito de alta velocidade, em memória na frente de outro banco de dados - MongoDB ou Riak são comumente usados ​​com Redis - em seguida, avaliar Redis como uma opção. Como suporte para o agrupamento e dados durabilidade evolui, talvez Redis podem ultrapassar outros bancos de dados de back-end.


Publicações relacionadas