He leído todas las preguntas de SO, los artículos de Coding Horror y Google mis cerebros buscando las mejores formas de revisar los datos de control. Todos funcionan y todos tienen sus implementaciones apropiadas basadas en casos de uso, etc. Lo que realmente quiero saber es por qué no se ha escrito una base de datos para apoyar de forma nativa la revisión en el nivel de datos.¿Dónde están todas las bases de datos nativas revisadas?
Lo que me sorprende es que la API ya está prácticamente en su lugar con las transacciones. Comenzamos una transacción, cambiamos algunos datos y confirma. También estamos autenticando contra la base de datos, por lo que la culpa está presente. Mi empresa almacena versiones de fin de mes de toda nuestra base de datos para fines de contabilidad, lo que equivale a etiquetas. ¿Esto no grita RCS?
La bifurcación es algo que las bases de datos podrían beneficiarse mucho también en lo que respecta al esquema más que a los datos. Como realmente solo me importan los datos y esto aumentaría la dificultad de la implementación en un grado masivo, me apegaré solo a las etiquetas y los compromisos.
Ahora sé que las bases de datos son aplicaciones increíblemente críticas, por lo que cualquier sobrecarga innecesaria se evita en el olvido y algunas bases de datos son de nivel épico y las revisiones solo expondrán ese tamaño. Un control de revisión opcional por tabla, sin duda, tiene un lugar en entornos de pequeña a mediana escala donde hay milisegundos de sobra y el historial de datos tiene un grado de importancia. Quiero commits, quiero registros, quiero revertir, quiero diffs, quiero culpar, quiero etiquetas, y quiero checkouts. Quiero control de revisión MF-ing.
Tengo una pregunta en alguna parte ...
He hecho la ruta de desencadenamiento que está bien y totalmente en la lógica de la aplicación y ambos definitivamente funcionan, pero no sé por qué ninguno de estos existe. Me gustaría ver una revisión que incluya cambios en más de una fila e incluso más de una tabla, sin embargo. Y como dije, esto tendría que ser una adición opcional y una tabla, ya que el rendimiento siempre es importante. Supongo que como esto no se pudo hacer en una implementación grande, es por eso que nunca se ha implementado en las bases de datos principales. Sin embargo, algunos de mis sitios web y aplicaciones más pequeños y especializados se beneficiarían. –