TLDR: ¿Cuáles son las ventajas y desventajas de usar una base de datos en memoria frente a bloqueos y estructuras de datos concurrentes?Recomendaciones para una base de datos en memoria frente a estructuras de datos seguras para hilos
Actualmente estoy trabajando en una aplicación que tiene muchas pantallas (posiblemente remotas) que recopilan datos en vivo de múltiples fuentes de datos y los muestra en pantalla en tiempo real. Uno de los otros desarrolladores sugirió el uso de una base de datos en memoria en lugar de hacerlo de la manera estándar en que se comportan nuestros otros sistemas, que consiste en utilizar hashps, colas, matrices y otros objetos concurrentes para almacenar los objetos gráficos y manejarlos de forma segura. bloquea si es necesario. Su argumento es que el DB reducirá la necesidad de preocuparse por la simultaneidad, ya que manejará bloqueos de lectura/escritura automáticamente, y también el DB ofrecerá una manera más fácil de estructurar los datos en tantas tablas como necesitemos en lugar de tener crear hashps de hasmaps de listas, etc. y hacer un seguimiento de todo.
No tengo mucha experiencia DB, así que les pregunto a los compañeros SO qué experiencias han tenido y cuáles son los pros & contras de insertar el DB en el sistema?
añadido a bounty para solicitar más respuestas –
¡Para eso están las bibliotecas de STM! Ellos manejan el bloqueo por ti. –