Co to jest Oracle Streams?

advertisement
Projekt współfinansowany przez Unię Europejską
w ramach Europejskiego Funduszu Społecznego
Oracle Streams jako
efektywna metoda
replikacji baz danych
Autor: Waldemar Sałaga
Podstawowe pojęcia


Replikacja danych to proces powielania informacji
pomiędzy różnymi serwerami baz danych
Mechanizmy powielania stosowane w bazach danych
Oracle:

Łączniki bazodanowe (Database Links)

Migawki (Snapshots)

Narzędzia Export/Import

Perspektywy materializowane (Materialized Views)

…

Oracle Streams
Co to jest Oracle Streams?



Metoda stosowana począwszy od wersji 9i systemu
zarządzania bazą danych Oracle
Uniwersalna technologia zdarzeniowej replikacji
danych pomiędzy wieloma bazami danych Oracle
Pozwala na współdzielenie informacji pomiędzy
bazami danych
Co to jest Oracle Streams?



Umożliwia m.in. budowę środowisk replikacyjnych o
typologii jeden-do-jednego, jeden-do-wielu, wieledo-jednego, wiele-do-wielu, środowisk klasy SingleMaster i Multimaster, itp.
Umożliwia automatyczne filtrowanie i
transformowanie replikowanych operacji w każdym
punkcie architektury systemu
Wprowadza nową funkcjonalnośc, która jest o wiele
bardziej elastyczna od stosowanych dotychczas
mechanizmów replikacji oraz wykrywania i
zarządzania zdarzeniami
Zastosowanie Oracle
Streams







Replikacja
Wymiana komunikatów
Ładowanie hurtowni danych
Migracja baz danych
Powiadamianie o zdarzeniach i zarządzanie nimi
Redukcja obciążenia sieci komputerowych
Wspieranie mechanizmów zapobiegania awarii
systemu
Architektura Oracle
Streams
Technologie wspomagające
Oracle Stream



Dziennik powtórzeń (Redo Log)
Obiekty LCR

Row Logical Change Records (Row LCR)

DDL Logical Change Records (DDL LCR)
Struktury kolejkowe Oracle AQ (FIFO Oracle
Advanced Queueing)
Komponenty Oracle
Streams
Komponenty Oracle
Streams



Capture – pozwala na detekcję zmian dokonanych
przez użytkowników poprzez operacje DDL i DML w
źródłowej bazie danych
Staging (Propagate) -pozwalający na składowanie i
przekazywanie informacji o dokonanych zmianach w
ramach jednej lub wielu baz danych
Consumption (Apply) – wykonanie (aplikowanie)
rozpoznanych operacji DDL i DML w systemie
docelowym




Prowadzi analizę plików dziennika powtórzeń w celu
ekstrakcji opisów zmian DML i DDL dokonywanych
przez użytkowników bazy danych
Na podstawie analizy generuje obiekty Row LCR i
DDL LCR
Obiekty te umieszcza we wskazanej strukturze
kolejkowej
Może być wykorzystywany w dwóch konfiguracjach:
detekcji lokalnej (Local Capture) i detekcji zdalnej
(Downstream Capture)



Odczytuje obiekty LCR z kolejki w systemie
źródłowym i zapisuje je do kolejki w systemie
docelowym
Przesyłane obiekty są usuwane z kolejki w systemie
źródłowym
Proces ten funkcjonuje jako zadanie wsadowe po
stronie systemu źródłowego


Pobiera obiekty LCR ze struktury kolejkowej i
wykonuje opisane w nich operacje
Automatycznie wykrywa błędy


Wadliwe transakcje (jej obiekty LCR) przepisuje do
wyróżnionej struktury kolejkowej nazwanej kolejką
błędów (Error Queue)
Może podjąć próbę ponownego wykonania błędnych
transakcji lub usunąć je z kolejki błędów
Schemat replikacji danych
Reguły filtrujące (Rules)




Stosowane do implementacji selektywnej replikacji
danych
Są to wyrażenia logiczne, operujące na atrybutach
obiektów LCR
Są grupowane w tzw. zbiory reguł filtrujących (Rule
Sets)
Zbiory reguł filtrujących mogą być przez procesy
Capture, Staging i Apply traktowane jako tzw.
zbiory pozytywne (Positive Rule Sets) lub zbiory
negatywne (Negative Rule Sets)
Podsumowanie



Oracle Streams jest interesującą technologią
implementacji rozproszonej replikacji danych
wykorzystującą model zdarzeniowy
Polega na wykorzystaniu (konfiguracji i aktywacji)
trzech komponentów systemowych – procesów
Capture, Staging i Apply
Jest stosowana m. in. do realizacji zadań ETL w
hurtowniach danych, zabezpieczenia danych przed
utratą w wyniku awarii, audytu użytkowników, itp.
Download