Wykład z 24 pazdziernika 2009
Zarządzanie transakcjami
Pożądane własności transakcji:
Wykład z 7 listopada 2009 roku
Piotr Bajerski (p. 404) - piotr.bajerski@polsl.pl
Wzorce:
MVC
Rozdzielamy dane od kontrolera i modelu, na trzy odrębne role.
Singleton
Zapewnia unikalność danej klasy i zapewnia globalny dostęp do niego.
- problemy w środowiskach wielowątkowych (może zostać dwukrotnie utworzona klasa)
- w Javie - “niebezpieczna publikacja” - w C++ działa.
Można zastosować słowo: volatile
, które temu zapobiega. Można również zastosować inicjalizację wyprzedzającą, bądź tzw. inicjalizację leniwą z klasą pomocniczą.
Fabryki
Fabryka to metoda lub obiekt służący do tworzenia obiektów,
Rozdzielenie tworzenia obiektów od ich wykorzystywania,
Wielu użytkowników obiektów, jedno miejsce ich tworzenia,
Użytkownik nie wie z obiektem jakiej klasy ma do czynienia, zna tylko interfejs…
Fabryki zadządzające…
Metoda wytwórcza
SDB 23 stycznia 2010
Aktywne systemy baz danych
To takie systemy, które “żyją” również gdy nie są do nich kierowane żadne transakcje. W bazach tych jest możliwość zmian stanu ich obiektów poza sesjami użytkowników. “Uaktywnienie” takiej bazy może nastąpić na przykład w następujących sytuacjach:
na skutek zajścia określonego zdarzenia zewn.,
na skutek zakończenia realizacji określonego zbioru transakcji,
na skutek upływu określonego czasu
Model ECA (Event, Condition, Action) - zdarzenie, warunek i akcja
WHEN [ON] <ZDARZENIE>
IF [WHERE] <WARUNEK>
THEN [DO] <AKCJA>
ATTRIBUTES {Priorytet, tryb sprzężenia}
Zastosowanie:
nowe rodzaje więzów integralności
automatyczne utrzymywanie przez system spójności danych
systemy klasy OLAP (!) [online analitycal processing]
rozproszone bazy danych z mechanizmami fragmentacji i replikacji danych
Własności:
schematy aktywności określające zależności zachodzące między zdarzeniem a wyzwalną przez nie akcją,
zbiór typów zdarzeń elementarnych, któe mogą być użyte do definicji aktywnych reguł
zbió dostępnych operatorów zdarzeniowych, za pomocą któych definiuje się proste zdarzenia
Schematy aktywności:
relacja czasowa - pokrycie się momentu odpalenia akcji z momentem wystąpienia zdarzenia
relacja transakcyjna - akcja uruchamiana jako część transakcji, w ramach któej wystąiło zdarzenie, czy jes tosobną transakcją
relacja zależności -
PostgreSQL
Reguły
Szybsze od triggerów (wyzwalaczy) ale mają mniejsze możliwości
CREATE [OR REPLACE] RULE nazwareguly AS ON zdarzenie
TO obiekt
[WHERE warunek]
DO [ALSO|INSTEAD] [akcja | (akcje) | NOTHING];