Michał Jasiorowski

Michał Jasiorowski Inżynier ds.
oprogramowania

Temat: Wersjonowanie i utrzymywanie historii danych

Witam,
chciałbym usłyszeć jak Wy koledzy podchodzicie do tematu przechowywania historii danych oraz ich wersjonowania, chodzi mi tu głównie o dane przechowywane w bazie SQL i przetwarzane rzecz jasna z poziomu .NET.
Jakie wzorce stosujecie, jakie rozwiązania oraz jakie są wady i zalety danego podejścia. Być może pozwoli to zweryfikować własne, wyrobione nawyki:)

konto usunięte

Temat: Wersjonowanie i utrzymywanie historii danych

Michał Jasiorowski:
Witam,
chciałbym usłyszeć jak Wy koledzy podchodzicie do tematu przechowywania historii danych oraz ich wersjonowania, chodzi mi tu głównie o dane przechowywane w bazie SQL i przetwarzane rzecz jasna z poziomu .NET.
Jakie wzorce stosujecie, jakie rozwiązania oraz jakie są wady i zalety danego podejścia. Być może pozwoli to zweryfikować własne, wyrobione nawyki:)

trigger jest najpewniejszym mechanizmem wersjonowania danych
zrobisz raz i widzisz kto i co zmienił

konto usunięte

Temat: Wersjonowanie i utrzymywanie historii danych

Oracle np. ma swoje mechanizmy audytu tabel. Wystarczy włączyć. Nie trzeba pisać żadnego kodu. Nie napisałeś o jaki SQL chodzi :)
Michał Jasiorowski

Michał Jasiorowski Inżynier ds.
oprogramowania

Temat: Wersjonowanie i utrzymywanie historii danych

Adam Michalski:
Oracle np. ma swoje mechanizmy audytu tabel. Wystarczy włączyć. Nie trzeba pisać żadnego kodu. Nie napisałeś o jaki SQL chodzi :)

Racja, nie napisałem. Chodzi o MSSQL'a (2005/2008) (choć wydaje mi się, że raczej powinno to pytanie pozostać ogólne).

Co do trigerów, to tak, są pewne, ale są narzędziem. Mi bardziej chodzi o koncepcje (czy dublowane tabelki, czy dublowane rekordy ze wskazaniami na poprzednie wersje, tabele "journal" itp.)

konto usunięte

Temat: Wersjonowanie i utrzymywanie historii danych

tabele historyczna z dodatkową kolumną zawierającą np. login osoby zmieniającej, maszynę z której zostało to wykonalne itd

unikał bym rozwiązania bazującego na dodawaniu nowych rekordów do tej samej tabeli, musiałbyś mieć mechanizm od odznaczania tych archiwalnych, co przy operacjach update/delete jest nieco kłopotliwe
Roman M.

Roman M. Senior Developer,
Multidata

Temat: Wersjonowanie i utrzymywanie historii danych

A co powiedzielibyście o takim rozwiązaniu: http://martinfowler.com/eaaDev/EventSourcing.html? Event sourcing w połączeniu z CQRS staje się ostatnio bardzo modne...



Wyślij zaproszenie do