ventajas tutorial desventajas berkeley berkeley-db dbm

berkeley-db - tutorial - download berkeley db



Alternativa a BerkeleyDB? (9)

Estoy buscando una biblioteca tipo dbm que pueda usar en lugar de Berkeley DB, que estoy usando actualmente. Mi razón principal para cambiar es que las tarifas de licencia para BDB son bastante altas (gratis para las aplicaciones de código abierto, pero mi empleador no desea abrir esta aplicación en particular por varias razones).

Miré brevemente qdbm pero parece que no satisfará mis necesidades: muchas claves (varios millones) y elementos de datos grandes (> 1-5 megabytes). Antes de continuar con la búsqueda, pensé en preguntar porque parece que hay toneladas de bibliotecas tipo DBM.


Podrías mirar al Gabinete de Tokio . Es el sucesor de qdbm / gdbm, y si decide escalar tiene un buen front-end de red disponible.

Editar:

Otra variante es el gabinete de Kyoto ; desarrollado por la misma persona, pero supuestamente más fácil de usar.



db4o es bastante barato y rápido, pero solo se puede usar con Java o .net



SQLite es de dominio público, lo que significa que puede usarlo para cualquier propósito, y es ampliamente utilizado y compatible.



Puede obtener un rendimiento mucho mejor de cualquier dbm (incluso qdbm) y un paralelismo mejorado con un nivel de indirección simple: simplemente tome sus claves y data_dir/H(key)/ , y use data_dir/H(key)/ como la base de datos para almacenar esas claves. Limite la salida hash a un valor pequeño (digamos) 255 para obtener mejores resultados.

Este enfoque tiene una serie de beneficios, fácilmente resumidos:

  • Conceptualmente simple
  • Fácil de implementar y probar
  • No bloquea la base de datos completa para actualizaciones
  • Puede soportar bases de datos mucho más grandes
  • Fácil de reemplazar el componente DBM

El hash probablemente ni siquiera necesite ser criptográficamente seguro; solo en su mayoría uniforme. El hash cdb de DJB funciona bien en la mayoría de los casos.


Podrías probar JDBM . Es un almacenamiento de clave-valor gratuito (Apache 2) con persistencia de disco. API simple y alto rendimiento


C / C ++

Java