Boa biblioteca ISAM ou outro gerenciador de arquivos simples para grandes arquivos no Windows x64

StackOverflow https://stackoverflow.com/questions/134052

Pergunta

Temos algumas muito grandes arquivos de dados (5 gig 1TB), onde precisamos de acesso de leitura / gravação rápida. Uma vez que temos um tamanho de registro fixo, parece que alguma forma de ISAM seria o caminho a percorrer. Mas ficaria feliz em ouvir outras sugestões.

Idealmente, a solução teria uma licença estilo Apache ou LGPL, mas vamos pagar se temos que fazer.

must haves:

Scalable - mais de pelo menos 1 arquivos TB
Estável - ou não dados corrompidos ou tenha recuperação rápida processo
Funciona bem em X64 do Windows

É bom ter:

Pode participar 2 fase commits
Intrínseca instalações de compressão de
Portátil para plataformas * nix
C # API ou API Java

Obrigado,

Terence

Foi útil?

Solução

Berkeley DB uma tentativa. As opiniões variam, mas é escalável, estável (se você usar todas as camadas necessárias) e AFAIK funciona bem em x64 do Windows. Também portátil para * nix e tem C e Java API. Não sei sobre C # API.

Outras dicas

Você também pode usar o mecanismo de banco de dados ESENT que é embutido no Windows. Na medida em que suas necessidades vão:

  • Escalável: o tamanho do banco de máxima é 16TB. datbases Multi-TB têm sido utilizados na produção.
  • Estável: a recuperação de falhas com logging write-ahead.
  • X64 do Windows: ESENT é parte de Janelas, por isso está presente no seu 64-bit máquina.

É bom ter:

  • 2 commits fase:. Não
  • Compressão:. Não
  • portátil para * nix:. Não
  • C # API ou API Java: Não. (Há uma camada de interoperabilidade C # no Codeplex, mas não é completa)

A documentação está aqui: http: // MSDN .microsoft.com / en-us / library / ms684493 (VS.85) .aspx

Você pode obter o arquivo de cabeçalho e lib fazendo o download do SDK do Windows.

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