es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Base de datos clave-valor con alias de clave o búsqueda por valor.

¿Existe un almacenamiento en memoria existente, listo para producción, de tipo KV que me permita recuperar un único valor mediante cualquiera de múltiples claves?

Digamos que tengo millones de entidades inmutables que tienen una clave principal asociada. Cualquiera de estas entidades puede tener múltiples alias y el escenario más común es recuperar la entidad mediante dicho alias (el 90% de todas las solicitudes). El segundo escenario más común es poder recuperar la entidad mediante la clave principal y luego agregar el nuevo registro de alias (el último 10%). Una cosa especial sobre este paso: siempre se antepone la búsqueda de alias y solo ocurre si la búsqueda de alias no tuvo éxito.
Todos los datos del conjunto de datos caben en la memoria RAM, pero probablemente no si se duplica toda la información del registro en todos los alias.
Estoy muy preocupado por la latencia de recuperación de datos y menos preocupado por la velocidad de escritura.

Esto se puede hacer con Redis en dos búsquedas secuenciales o mediante SQL/MongoDB. Creo que ambas formas son subóptimas. La primera, obviamente, debido a las dos comunicaciones necesarias para cada intento de búsqueda, y la segunda, debido a las preocupaciones de latencia.

¿Alguna sugerencia?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, existe un almacenamiento KV en memoria listo para producción que puede recuperar un único valor mediante cualquiera de varias claves, se llama Aerospike.

    Aerospike está diseñado para tener una baja latencia y alto rendimiento en el acceso a los datos, lo que lo hace adecuado para casos de uso como el suyo. Admite múltiples pares clave-valor por registro y le permite buscar un registro utilizando múltiples claves. Además, Aerospike permite actualizaciones parciales de registros, por lo que puede agregar nuevos alias sin incurrir en el costo de duplicar todo el registro.

    En general, Aerospike podría ser adecuado para su caso de uso, dada su atención en la latencia de recuperación de datos y su deseo de un almacén de clave/valor único que pueda manejar múltiples claves por registro.

Comments are closed.