Trudy synchronizacji

Informix kupił w ub.r. firmę Cloudscape, producenta bazy danych do wbudowania. Niedawno ukazała się jej nowa, wzbogacona wersja.

Informix kupił w ub.r. firmę Cloudscape, producenta bazy danych do wbudowania. Niedawno ukazała się jej nowa, wzbogacona wersja.

Replikacja to mechanizm służący do przekazywania najnowszych danych użytkownikom okazjonalnie dołączonym do sieci korporacyjnej. Zwykle ma charakter jednokierunkowy - od bazy korporacyjnej do notebooka, na którym pracuje handlowiec bądź konsultant. Replikacja w drugą stronę jest obwarowana ścisłymi regułami, by zminimalizować ryzyko popsucia jakości danych w bazie głównej. Wymiana aplikacji na nowszą wersję, zmiana reguł działania lub procedur składowanych w bazie wymaga już interwencji działu informatyki i nie może odbywać się zdalnie.

Z terenu do bazy

Efektowne rozwiązanie tego problemu zaproponował Informix w nowej wersji napisanej w Javie bazy danych Cloudscape 3.0. Technika ta nazywa się LUCID (Logic Up, Consistent Data Down) i jest zrealizowana za pośrednictwem synchronizacji danych i logiki aplikacji (Cloudscape Application Synchronization).

Cloudscape Synchronization uaktualnia obiekty bazy danych, takie jak tabele, widoki, indeksy i schematy (strukturę) bazy oraz kod Javy. Koordynuje ich wymianę między jedną bazą źródłową a wieloma bazami docelowymi. Jednostka synchronizacji nazywa się "publikacja"; wymienia się w niej całe tabele, poszczególne kolumny lub rekordy; ma charakter dokumentu zbliżonego do definicji widoku z bazy.

Synchronizacja zaczyna się w chwili, gdy tworzy się bazę docelową, posługując się pierwszą publikacją. Użytkownik zdalny może dowolnie modyfikować swoją bazę danych. W chwili połączenia z firmą następuje uaktualnienie bazy głównej o operacje dokonane na bazie zdalnej przez ponow-ne wykonanie wszystkich transakcji (zwanych tu jednostkami pracy), przeprowadzonych przez użytkownika. Operacje te może wykonać inny kod niż kod realizowany w notebooku zdalnego użytkownika (to jest część zwana wyżej Logic Up). Na przykład zdalny użytkownik może zarejestrować tylko zamówienie klienta, natomiast aplikacja korporacyjna dokona sprawdzenia stanu magazynu, przekaże zamówienie do działu produkcji, sprawdzi aktualny stan konta klienta, opracuje fakturę itp. Przy okazji powstanie nowa publikacja, określająca, co należy uaktualnić w bazie użytkownika zdalnego, i zostaną mu przekazane właściwe dane (część nazwana Consistent Data Down).

Rozstrzyganie konfliktów

W systemie rozproszonym nie da się uniknąć konfliktów, ponieważ operacje są dokonywane przez użytkowników bez dostępu do bazy głównej. Klasyczny przykład to sprzedaż ostatniego produktu z magazynu jednocześnie przez dwóch handlowców. Konflikty podważają kluczową zasadę baz danych, że raz dokonane transakcje są trwałe. W systemach rozproszonych okazuje się, że potwierdzone transakcje trzeba czasem wycofać.

Rozwiązanie Cloudscape jest o tyle lepsze, że na bazie głównej przeprowadza się ponownie te same operacje, co na bazach użytkowników zdalnych. Nie traci się "kontekstu" operacji. Aplikacja główna może więc dokonywać weryfikacji poszczególnych transakcji, podejmować decyzje oparte na zdarzeniach u użytkowników zdalnych lub sprawdzać dodatkowe warunki, nie znane użytkownikowi zdalnemu. Zaletą jest również prostszy kod aplikacji u użytkownika zdalnego, który nie musi zajmować się rozstrzyganiem konfliktów w bazie.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200