| Termin | Definicja |
|---|---|
| Automatyzacja migracji | Automatyzacja migracji to zaplanowane procesy cyklicznie przenoszące dane lub strukturę pomiędzy środowiskami bazodanowymi. Na czym polega automatyzacja migracji danychAutomatyzacja migracji to zaplanowany proces przenoszenia danych, schematu lub wybranych obiektów pomiędzy środowiskami bazodanowymi bez ręcznego wykonywania każdej czynności. Źródłem i miejscem docelowym mogą być na przykład dwie instancje tego samego silnika, środowisko testowe i produkcyjne albo baza działająca na innym systemie. Automatyzacja nie oznacza wyłącznie skopiowania plików. Zwykle obejmuje odczyt danych, ich konwersję do wymaganego formatu, utworzenie tabel i indeksów, sprawdzenie zależności oraz zapis w środowisku docelowym. Proces może być uruchamiany jednorazowo, cyklicznie albo po wystąpieniu określonego zdarzenia. Harmonogram określa, kiedy migracja ma się rozpocząć, natomiast reguły transformacji opisują, jak zmienić nazwy kolumn, typy danych lub układ tabel. W dobrze przygotowanym przepływie zapisuje się również informacje o wykonanych etapach, liczbie przetworzonych rekordów i napotkanych błędach. Dzięki temu można rozpoznać, czy migracja zakończyła się pełnym powodzeniem, częściowym wykonaniem czy przerwaniem przed zapisaniem wszystkich danych. Planowanie kolejności i zależnościPrzenoszenie struktury bazy powinno uwzględniać zależności pomiędzy obiektami. Tabela odwołująca się kluczem obcym do innej tabeli nie jest niezależna, dlatego kolejność tworzenia obiektów ma znaczenie. Podobnie widok może wymagać wcześniejszego utworzenia tabel, funkcja może korzystać z określonej kolumny, a indeks powinien odpowiadać strukturze istniejącej już tabeli. Narzędzie automatyzujące migrację może przechowywać kolejność operacji w plikach zmian, skryptach albo metadanych opisujących kolejne wersje schematu. Istotnym elementem jest rozdzielenie migracji struktury od migracji zawartości. Najpierw można utworzyć schemat, następnie przenieść dane podstawowe, a na końcu wykonać operacje wymagające kompletnego zbioru rekordów. W przypadku dużych tabel często stosuje się porcjowanie, czyli przetwarzanie zakresów rekordów zamiast jednego bardzo długiego zadania. Każdy zakres powinien mieć jednoznaczny punkt rozpoczęcia i zakończenia. Pozwala to wznowić pracę po awarii bez ponownego przetwarzania całej tabeli, o ile mechanizm migracji poprawnie zapamiętuje stan wykonania. Kontrola spójności po przeniesieniuSamo zakończenie skryptu nie dowodzi, że migracja przebiegła poprawnie. Po przeniesieniu należy porównać podstawowe właściwości źródła i celu: liczbę tabel, liczbę rekordów, obecność wymaganych kolumn, typy danych oraz istnienie kluczy i indeksów. W zależności od zastosowania można także porównać sumy kontrolne wyliczone dla identycznych zakresów danych. Taka suma nie zastępuje pełnej kontroli, ale pomaga wykryć różnice powstałe podczas kopiowania lub konwersji. Automatyzacja powinna rozróżniać błąd krytyczny od ostrzeżenia. Brak wymaganej tabeli, odrzucenie rekordu z powodu niezgodnego typu danych albo przerwanie połączenia może wymagać zatrzymania całego procesu. Z kolei pominięcie opcjonalnego indeksu może zostać zapisane jako ostrzeżenie, jeżeli zostało to przewidziane w projekcie migracji. Ważne jest również zapewnienie idempotencji, czyli takiego sposobu wykonywania operacji, aby ponowne uruchomienie nie tworzyło duplikatów ani nie niszczyło już poprawnie przeniesionych danych. Przed migracją produkcyjną warto wykonać próbę na kopii oraz sprawdzić procedurę odtworzenia poprzedniego stanu. Diagnostyka problemów z procesem migracjiProblemy z automatyczną migracją mogą wynikać z niezgodności typów danych, brakujących uprawnień, różnic w kodowaniu znaków, ograniczeń długości pól albo odmiennych zasad obsługi wartości pustych. Przyczyną może być także niewłaściwa kolejność operacji, przekroczenie limitu czasu połączenia lub przerwanie zadania w trakcie zapisu. Analiza powinna obejmować log procesu, definicję schematu, parametry połączenia oraz stan danych przed i po wykonaniu zadania. Szczególnie istotne jest ustalenie, czy błąd wystąpił podczas odczytu, transformacji, transmisji, zapisu czy końcowej walidacji. Na laptopie lub komputerze PC można sprawdzić elementy wpływające na lokalne narzędzia migracyjne, takie jak działanie systemu plików, dostępność miejsca na pliki tymczasowe, konfigurację klienta bazodanowego i poprawność połączenia sieciowego. Należy również zweryfikować, czy używany skrypt nie pozostawił niepełnych plików, blokad lub zapisanych znaczników wykonania. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów stacjonarnych PC oraz ich podzespołów, dlatego w przypadku problemów ze sprzętem lub lokalnym środowiskiem uruchamiającym narzędzie migracyjne można rozpocząć od diagnostyki komputera. |