2012-08-02 14 views

Respuesta

6

FYI: He aquí un enlace a los documentos oficiales de los ActiveMQ LevelDB Store

Contras:

  • Es una marca nueva tienda, por lo que todavía puede tener algunos errores que quedan en ella.
  • Los índices de LevelDB necesitan 'compactarse' de vez en cuando, lo que PODRÍA bloquear las nuevas escrituras.
  • No se puede simplemente eliminar el índice y reconstruirlo desde los archivos de datos como se puede con KahaDB
  • KahaDB maneja la corrupción del disco mucho más elegantemente, recuperando lo que puede y descartando los registros corruptos.

Pros:

  • Anexar en su mayoría los patrones de acceso de disco mejorar Potencia en el disco de rotación.
  • Menos sincroniza el disco que KahaDB
  • entradas
  • Menos de índice deben insertarse por mensaje almacenado
  • búsquedas
  • Menos índices necesarios para cargar un mensaje de disco en la memoria
  • utiliza la compresión Snappy para reducir la sobre el tamaño del disco de índice entradas
  • Compresión Snappy opcional de registros de datos.
  • Un envío a un destino compuesto solo almacena el mensaje en el disco una vez.
  • GC de archivos de datos más rápidos y frecuentes.
  • Tiene un 'Replicated' variation donde se puede replicar a los intermediarios "esclavos" para garantizar el nivel de mensaje HA.
+0

gracias por mencionar el manejo de archivos corruptos kahadb. tuvimos algunos problemas con los archivos leveldb corruptos. –

5

Hemos estado utilizando la tienda levelDB un mes de dos ahora en producción en NFS (con failover de bloqueo de archivos estándar configurado). Hemos tenido una tienda corrupta varias veces en las últimas semanas, sin errores en los registros ... solo colas acumuladas y muy bajo rendimiento. Lo único que podríamos hacer para resolver esto es tirar la tienda y empezar de nuevo.

Así que hemos cambiado de nuevo a la tienda KahaDB antigua y confiable de nuevo por el momento.

+0

puede registrar un error con cualquier información que pueda proporcionar sobre su configuración para reproducir esto: https://issues.apache.org/jira/browse/AMQ –

2

La mayoría de las afirmaciones de rendimiento realizadas para LevelDB parecen ser declaraciones vacías. Se supone que admite altas lecturas de concurrencia, pero las pruebas de subprocesos múltiples no muestran ganancias de concurrencia.https://github.com/ayende/raven.voron/pull/9#issuecomment-29764803

(Por el contrario, las ganancias LMDB muestra perfecta de rendimiento lineal para lecturas a través de múltiples CPUs. https://github.com/ayende/raven.voron/pull/9#issuecomment-29780359)

Cuestiones relacionadas