Cuáles son algunas de las técnicas populares que puede adoptar para agregar durabilidad a sus estructuras de datos en memoria (es decir) si el proceso falla, puede conservar todas las operaciones previamente ejecutadas en esos datos ¿estructura?Agregando durabilidad a estructuras de datos en memoria
Si mi estructura de datos implica solo una lista de tuplas, entonces solo las almacenaría en una base de datos SQL y eso me daría durabilidad de forma gratuita. Pero, ¿y si mi estructura de datos fuera un gráfico o un árbol?
Lo único que se me ocurre es registrar explícitamente todas las operaciones en el disco (solo anexar registro) y, en caso de falla, reproducir el registro para conservar el estado anterior. Si el registro se vuelve demasiado grande, habrá un paso de compactación. Supongo que esto es lo que hace internamente un motor de base de datos para la durabilidad (¿cómo se llama este proceso)?
Nota: este no es un escenario donde todo el conjunto de datos no cabe en la memoria.
Obviamente he oído hablar de la palabra "serialización". Y obviamente la serialización ingenua de toda la estructura de datos en el disco después de cada operación funcionará en teoría, pero no en la práctica. Estaba hablando de hacer esto de manera eficiente (si no, ¿de qué sirve tener los datos en la memoria?) – Harish
¡Ah! Tal vez algún mecanismo de almacenamiento en caché le vendría mejor entonces? – Rik