Chave/valor de código aberto capaz de alta capacidade [de armazenamento] [fechado
-
22-09-2019 - |
Pergunta
Estou procurando uma loja de chave/valor que atenda aos seguintes requisitos:
- Código aberto
- C API (C ++ ok também)
- ÁCIDO
- Algum nível de recuperação de colisão
- Alta capacidade [armazenamento] por arquivo
- Tanto a chave quanto o valor são dados binários arbitrários
- Incorporado (como DBM, Sqlite, et al.)
O GDBM parece particularmente atraente. De acordo com o fato de que o datum
Usos da estrutura int dsize;
Claramente, os tamanhos de chave e valor são limitados a 2 GB, o que é bom. No entanto, meu problema com o GDBM é que não consigo encontrar nenhuma documentação sobre o limite para os tamanhos dos arquivos do banco de dados. Por exemplo, o Berkeley DB fornece arquivos de banco de dados de até 256 TB. Se isso for grande o suficiente, o GDBM seria perfeito.
Alguém sabe o limite de tamanho do arquivo gdbm? Falha nisso (ou se for muito pequeno) que outras sugestões você pode fazer? Esse animal existe?
Solução
Se você estiver usando o GDBM em um sistema de 32 bits (i386), o tamanho máximo do banco de dados é de 2 GB. Se você estiver usando-o em um sistema de 64 bits e compilar seu aplicativo de 64 bits, o tamanho máximo do banco de dados deve ser limitado pelo seu sistema de arquivos.