Pergunta

O que é o banco de dados mais rápido e mais estável não-SQL para armazenar dados grandes e milhares de processos solicitações durante o dia (é para o serviço de troca de tráfego)? Eu encontrei KDB + e Berkeley DB. Eles são bons? Existem outras opções?

Mais detalhes ...

processos do servidor Cada dia> 100K visitas. Para cada visita Eu preciso ler correspondentes estatísticas de DB, log write a DB e estatísticas de atualização no DB, aka 3 operações com DB por visita. O tráfego é continuamente crescente. Assim motor DB deve ser rápido. De um lado DB será gerido pelo demônio escrito em C, Erlang ou qualquer outra linguagem de baixo nível. Do outro lado DB será gerido por scripts PHP.

Foi útil?

Solução

Berkely DB é experimentado e testado e endurecidos e está no coração de muitos sistemas de volume de transação de mega-alta. Um exemplo é a infra-estrutura de operadora sem fio que usam lojas LDAP enormes (OpenWave, por exemplo) para processar mais de 2 bilhões de transações por dia. Estes sistemas também normalmente têm algo como Oracle no mix também para o ponto no tempo de recuperação, mas eles usam Berkeley DB como caches replicados.

Além disso, BDB não se limita a pares de valores-chave no sentido simples dos valores escalares. Você pode armazenar o que quiser no valor, incluindo estruturas arbitrárias / registros.

Outras dicas

O próprio sistema de arquivos é mais rápido e mais estável do que quase qualquer outra coisa. Ele armazena dados grandes contínua e eficiente. A API é muito simples.

Você pode armazenar e recuperar a partir do sistema de arquivos muito, muito eficiente.

Uma vez que sua pergunta é um pouco fino em "requisitos" é difícil dizer muito mais.

E sobre Redis?

http://code.google.com/p/redis/

Tem não experimentá-lo ainda leu sobre ele e parece ser um rápido e estável o suficiente para armazenamento de dados. Ele também fornece-lhe com uma solução de ponto-de falha anti-single decente, tanto quanto eu entendo.

O que há de errado com SqlLite ? Desde que você fez explicitamente não-sql estado, Berkeley DB são baseados em pares de chave / valor que pode não ser suficiente para suas necessidades, se você deseja expandir os conjuntos de dados, mais ainda, como você faria esse conjunto de dados se relacionam entre si usando a chave / pares de valores ....

Por outro lado, o KDB +, olhando para o FAQ em seu site é um relacional banco de dados que pode lidar com SQL através de sua linguagem de programação Q ... estar ciente, se a necessidade de aparecer emigrar, pode haver potenciais contratempos, como dialetos incompatíveis ou uma consulta que especificidades usos fornecedor, portanto, o potencial de ficar trancado em banco de dados e não ser capaz de migrar de todo ... algo a ter em mente para mais tarde ...

Você precisa ser cuidadoso com o que você decidir aqui e olhar para ele a partir de uma perspectiva de longo prazo, futuros upgrades, a migração para outro banco de dados, o quão fácil seria a de up-scale, etc

Uma entrada óbvia nesta categoria é Intersystems Caché. (Bem, óbvio para mim ...) Esteja ciente, porém, não é barato. (Mas eu não acho que o KDB + é qualquer um.)

MongoDB é o banco de dados mais rápido e melhor nosql. Ter um olhar para este desempenho referência .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top