Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

migracja bazy danych

Termin Definicja
migracja bazy danych

Migracja bazy danych to przeniesienie jej na inny serwer, wersję silnika lub platformę z zachowaniem danych.

Na czym polega migracja bazy danych

Migracja bazy danych to zaplanowane przeniesienie danych, struktury oraz reguł działania z jednego środowiska do innego. Celem może być zmiana serwera, systemu operacyjnego, wersji silnika bazy danych, sposobu przechowywania plików albo całej platformy aplikacyjnej. Migracja nie ogranicza się do skopiowania plików. Trzeba odtworzyć tabele, indeksy, klucze główne, klucze obce, ograniczenia integralności, widoki, procedury składowane, wyzwalacze, konta techniczne oraz uprawnienia wymagane przez aplikację. Zakres prac zależy od tego, czy pozostaje ten sam silnik i format danych, czy też dane są przekształcane do innego systemu.

W praktyce wyróżnia się migrację z zachowaniem tego samego silnika oraz migrację między różnymi silnikami. W pierwszym przypadku zgodność typów danych i składni zapytań zwykle jest większa, ale nadal mogą wystąpić różnice dotyczące kodowania znaków, stref czasowych, ustawień sortowania, formatów dat, rozszerzeń silnika lub wersji używanych funkcji. Przy zmianie technologii konieczne jest mapowanie typów, na przykład odpowiedników liczb całkowitych, wartości logicznych, identyfikatorów, danych binarnych i pól przechowujących tekst. Osobnej kontroli wymagają zapytania aplikacji, ponieważ ta sama operacja może mieć inną składnię albo inną semantykę w różnych silnikach.

Inwentaryzacja danych i przygotowanie środowiska docelowego

Przed rozpoczęciem migracji należy ustalić, co dokładnie ma zostać przeniesione. Inwentaryzacja obejmuje liczbę baz, rozmiar tabel, liczbę rekordów, relacje między tabelami, indeksy, obiekty pomocnicze, użytkowników technicznych, harmonogramy zadań oraz zależności aplikacji. Warto sprawdzić także kodowanie znaków, ustawienia porównywania tekstu, sposób przechowywania wartości daty i czasu oraz występowanie danych binarnych. Należy odnotować tabele intensywnie modyfikowane, ponieważ ich zawartość może zmienić się już po wykonaniu kopii. Przydatne jest również określenie dopuszczalnej przerwy w działaniu aplikacji i maksymalnej utraty danych, jeśli migracja wymaga przełączenia między środowiskami.

Środowisko docelowe powinno zostać przygotowane przed kopiowaniem danych. Obejmuje to instalację zgodnej wersji silnika, utworzenie pustej bazy, ustawienie parametrów kodowania i sortowania, skonfigurowanie miejsca na pliki oraz zapewnienie odpowiednich uprawnień. Trzeba potwierdzić, że docelowy system ma wystarczającą przestrzeń dyskową zarówno na dane, jak i na indeksy, dzienniki transakcji oraz pliki tymczasowe. Należy także sprawdzić połączenie z aplikacją, dostęp sieciowy, certyfikaty używane do szyfrowania transmisji i konfigurację mechanizmu uwierzytelniania. Przed migracją produkcyjną powinien powstać testowy przebieg wykonany na kopii danych, ponieważ pozwala wykryć niezgodności bez ryzyka dla działającego systemu.

Metody przenoszenia i kontrola spójności

Najprostszą metodą jest wykonanie kopii zapasowej, odtworzenie jej w środowisku docelowym i późniejsze przełączenie aplikacji na nowy adres bazy. Takie podejście ogranicza liczbę operacji transformujących dane, ale zwykle wymaga zatrzymania aplikacji na czas tworzenia końcowej kopii albo zastosowania mechanizmu, który rejestruje zmiany wykonane po rozpoczęciu kopiowania. Przy dużych bazach pełne kopiowanie może trwać długo, dlatego stosuje się również migrację etapową: najpierw przenosi się dane historyczne, a następnie synchronizuje bieżące zmiany i wykonuje krótkie przełączenie. Możliwe jest też eksportowanie tabel do plików, przekształcanie rekordów oraz ich importowanie, jednak ta metoda wymaga szczegółowego sprawdzenia typów danych i kolejności ładowania tabel powiązanych kluczami obcymi.

Po migracji nie wystarczy sprawdzić, czy aplikacja się uruchamia. Należy porównać liczbę rekordów w tabelach źródłowych i docelowych, sumy kontrolne wybranych kolumn, zakresy identyfikatorów oraz wartości agregowane, takie jak liczba zamówień, suma kwot lub liczba aktywnych kont. Trzeba zweryfikować relacje między tabelami, działanie indeksów, zapytania raportowe i operacje zapisu. Kontroli wymagają również znaki diakrytyczne, wartości puste, duże pola tekstowe i dane binarne. W przypadku migracji wykonywanej etapami należy sprawdzić, czy nie powstały duplikaty ani luki czasowe w zmianach. Wyniki testów powinny zostać zapisane, aby można było wskazać, które elementy zostały zweryfikowane, a które wymagają dodatkowej kontroli.

Plan przełączenia i bezpieczny powrót

Przełączenie aplikacji na nową bazę powinno odbywać się według wcześniej przygotowanej procedury. Plan powinien określać moment zatrzymania zapisów, sposób wykonania ostatniej synchronizacji, zmianę parametrów połączenia, testy po uruchomieniu oraz osoby odpowiedzialne za poszczególne czynności. Przed zmianą warto wykonać aktualną kopię zapasową starego środowiska i zachować ją przez ustalony okres. Należy również sprawdzić, czy aplikacja nie przechowuje adresu bazy w kilku plikach konfiguracyjnych, zmiennych środowiskowych lub usługach uruchamianych osobno. Po przełączeniu trzeba obserwować błędy połączeń, czas odpowiedzi zapytań, obciążenie procesora, pamięci i dysków oraz poprawność operacji zapisu.

Procedura powinna zawierać kryteria przerwania migracji. Jeżeli po przełączeniu występują niezgodności danych, błędy zapisu, niedostępne tabele lub nieakceptowalne opóźnienia, można zatrzymać ruch i powrócić do poprzedniego środowiska, o ile stara baza nie została nadpisana i istnieje kontrolowany sposób odtworzenia zmian. Po udanej migracji stare środowisko nie powinno być od razu usuwane. Najpierw trzeba potwierdzić kompletność danych, działanie kopii zapasowych i stabilność aplikacji w typowym obciążeniu. W przypadku komputera użytkownika problemy z dostępem do programu korzystającego z bazy mogą wynikać z błędnego adresu serwera, niezgodnego sterownika, blokady zapory, braku uprawnień albo uszkodzonej lokalnej konfiguracji. Diagnostyka powinna rozdzielić problem samej bazy od problemu połączenia i konfiguracji aplikacji.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę