Dimensionamento nosql

Uma característica comum de 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, mais poderoso em um único tiro.

Há casos de uso de alto volume 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 que o cache de alta velocidade para consultas complexas. Talvez você deseja obter as últimas notícias em um site. Aqui, leia caches ter proeminência sobre 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 de consulta. Qual é o ponto em armazenamento de dados se você nunca usá-lo?

Esses estudos também pode ser feito em sistemas onde os principais recursos estão desativados. índices de segurança não pode ser ativado, ou talvez suporte a transações ACID é desligado 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 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 para 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 ingerir que apoiam indexação em tempo real, e que incluem uma mistura realista de ingerir e ler solicitações / consulta?

  • Será que o seu produto fornecer recursos que tornam mais fácil para aumentar a capacidade de um servidor?

  • Será que o seu produto fornecer recursos 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 a sub-segundo tempo de resposta de consulta ao receber atualizações de alta frequência?

  • O sistema garantir 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 ser adicionado ao banco de dados?

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

  • O sistema garantir que recursos de scale-out e scale-costas do banco de dados são scripts e que integrará ao seu software de provisionamento de servidores escolhido (por exemplo, VMWare e Amazon Cloud Formation)?


Publicações relacionadas