Bases de Datos - Base de datos para almacenar historial de cambios

 
Vista:

Base de datos para almacenar historial de cambios

Publicado por Ysinotelodigo (1 intervención) el 11/11/2017 14:02:46
Hola a todos,

Estoy pensado en llevar a cabo un proyecto y tengo una duda acerca de la base de datos que mejor se adaptaría a las necesidades. Para simplificar el problema, el proyecto consta de varios tipos de fichas (que son rellenadas con varios campos de texto, slide...) y cada ficha se realaciona entre las demás tipos de fichas en relaciones N:M.

Actualmente la estructura de datos ideada es una base de datos relacional en SQL Server. Le he estado dando vueltas a intentar ver si una no relacional de MongoDB podría mejorar el diseño pero creo que no un buen ejemplo para utilizarla porque cada ficha puede existir de manera autónoma y las relaciones entre colecciones no es una buena práctica. Por lo tanto, por ahora la base de datos relacional es una opción bastante buena.

Pero me gustaría poder llevar un historial de cambios que se han hecho del texto de cada ficha en función del tiempo. Es decir que pudiera tener un timeline y que moviendo un slider viera cómo se ha hecho las modificaciones del texto. (Hay que destacar que la aplicación puede ser accedida por varios usuarios, por lo que podría cambiar el fondo de texto de algunos fragmentos para señalar quién hizo la modificación o quién borró un texto anterior tachando el fragmento. Mi idea es que no se pueda hacer branch de cosa anteriores. En cierta manera lo que me gustaría sería un google docs que pudiera modificar los campos de la ficha de manera colaborativa y que pueda almacenar el historial de cambios.

Mi pregunta, ¿para llevar esta necesidad a la base de datos relaciona tendría que ir almacenando los cursores y qué acciones se han ido haciendo (los delta de cambio)? ¿Existe algun tipo de base de datos que facilite esto (una que tienda a parecerse a un repositorio (svn o git)?

Muchas gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder