Buena biblioteca ISAM u otro administrador de archivos simple para archivos grandes en Windows x64
Pregunta
Tenemos algunos archivos de datos muy grandes (5 gig a 1TB) donde necesitamos acceso rápido de lectura / escritura. Dado que tenemos un tamaño de registro fijo, parece que alguna forma de ISAM sería el camino a seguir. Pero estaría feliz de escuchar otras sugerencias.
Idealmente, la solución tendría una licencia de estilo Apache o LGPL, pero pagaremos si es necesario.
Debe tener:
Escalable: en al menos 1 archivo de TB
Estable: no corrompe los datos o tiene un proceso de recuperación rápido
Funciona bien en Windows X64
Es bueno tener:
Puede participar en confirmaciones de 2 fases
Instalaciones de compresión intrínseca
Portátil a * nix plataformas.
API de C # o API de Java
Gracias,
Terence
Solución
Prueba Berkeley DB . Las opiniones varían, pero es escalable, estable (si usa todas las capas necesarias) y AFAIK funciona bien en ventanas x64. También es portátil a * nix y tiene API C y Java. No sé acerca de la API de C #.
Otros consejos
También puede usar el motor de base de datos ESENT que está integrado en Windows. En cuanto a sus requisitos:
- Escalable: el tamaño máximo de la base de datos es de 16 TB. Las bases de datos de TB múltiple han sido utilizado en producción.
- Estable: recuperación de fallos con registro de escritura anticipada.
- Windows X64: ESENT es parte de Windows, por lo que está presente en su Máquina de 64 bits.
Es bueno tener:
- 2 fases de la fase: No.
- Compresión: No.
- Portátil a * nix: No.
- API de C # o API de Java: en realidad no (hay una capa de interoperabilidad de C # en Codeplex pero no está completa).
La documentación está aquí: http: // msdn .microsoft.com / en-us / library / ms684493 (VS.85) .aspx
Puede obtener el archivo de encabezado y la biblioteca descargando el SDK de Windows.