scaling NoSQL

Uma característica comum dos sistemas NoSQL é a sua capacidade de escala através de muitos servidores de commodities. Estas plataformas relativamente barato significa que você pode escalar até bancos de dados, adicionando um novo servidor, em vez de substituir o hardware antigo com hardware novo e mais poderoso em um único tiro.

Há alta # Utilize 8208 volumes casos que rapidamente forçá-lo a escalar. Esses incluem

  • Você recebe relatórios de status e mensagens de log de toda uma paisagem de TI. Esse cenário requer vezes ingerir rápidos, mas provavelmente não requer suporte de análise avançada.

  • Você quer alta # 8208 velocidades cache para consultas complexas. Talvez você deseja obter as últimas notícias em um site. Aqui, leia caches tomar proeminência sobre as velocidades de consulta ou ingerir.

A única coisa comum com o desempenho de todos os bancos de dados NoSQL é que você não pode confiar em dados publicados - nada disso - para descobrir o que é provável que seja em seus dados de desempenho, para o seu próprio caso de uso.

Você certamente não pode confiar na promessa de um determinado fornecedor de banco de dados sobre o desempenho! Muitos fornecedores citar altas velocidades ingerir contra um caso de uso artificial que não é um uso realista do seu banco de dados, como prova da supremacia de seu banco de dados.

No entanto, o problema é que esses mesmos estudos pode ignorar totalmente a velocidade da consulta. Qual é o ponto em armazenamento de dados se você nunca usá-lo?

Esses estudos também pode ser feito em sistemas cujas características principais são deficientes. índices de segurança não pode ser ativado, ou talvez suporte a transações ACID é desligada durante o estudo para que os dados são armazenados de forma rápida, mas não há nenhuma garantia de que é seguro.

Isso tudo significa que você deve fazer seus próprios testes, o que é bastante fácil, mas certifique-se de que o teste é tão perto de seu sistema final possível. Por exemplo, não há nenhum ponto em testar um único servidor, se você pretende escalar a 20 servidores. Em particular, certifique-se de ter uma mistura exata de ingestão, modificar e consultar dados.

Considere pedir seu fornecedor NoSQL estas perguntas:

  • você pode garantir que todos os valores de dimensionamento e desempenho apresentados são para sistemas que garantem transações ACID durante a ingest que suportam verdadeira # 8208-tempo de indexação, e que incluem uma mistura realista de ingerir e solicitações de leitura / consulta?

  • Será que o seu produto, apresentam características que tornam mais fácil para aumentar a capacidade de um servidor?

  • Será que o seu produto, apresentam características que tornam mais fácil para remover a capacidade do servidor não utilizado?

  • É a velocidade de consulta de dados do seu produto limitado pela quantidade de informação que tem de ser armazenado em cache na memória RAM?

  • Será que o seu produto usar uma estratégia de mapa de memória que exige que todos os índices a serem mantidos na memória RAM para um desempenho adequado (memória mapeada significa a quantidade máxima de dados armazenados é o mesmo que a quantidade de RAM física instalada)?

  • seu banco de dados pode manter tempos de sub # 8208 de segunda resposta de consulta ao receber alta # atualizações 8208 frequência?

  • O sistema de assegurar que nenhum tempo de inatividade é necessário para adicionar ou remover a capacidade do servidor?

  • O sistema de assegurar que a informação é imediatamente disponível para consulta depois de adicionado ao banco de dados?

  • O sistema de garantir que a segurança dos dados é mantida sem prejudicar a velocidade de consulta?

  • O sistema de assegurar que escala # 8208-out e escala # capacidades 8208-back do banco de dados são scripts e que vai integrar no seu software de provisionamento servidor escolhido (por exemplo, VMWare e Amazon Cloud Formation)?

menu