| Termin | Definicja |
|---|---|
| Automatyczne tworzenie baz danych | Automatyczne tworzenie baz danych to proces samoczynnego zakładania nowych baz przez skrypt lub mechanizm wdrożeniowy. Na czym polega automatyczne tworzenie baz danychAutomatyczne tworzenie baz danych oznacza, że nowa baza jest zakładana przez skrypt, program instalacyjny albo mechanizm wdrożeniowy bez ręcznego wykonywania wszystkich czynności w panelu administracyjnym. Proces może obejmować utworzenie samej bazy, przygotowanie schematu, założenie tabel, indeksów i ograniczeń integralności, a także dodanie początkowych danych wymaganych przez aplikację. Oddzielnie traktuje się utworzenie instancji lub usługi silnika bazodanowego, utworzenie bazy logicznej oraz zainicjalizowanie jej struktury. Typowy przebieg zaczyna się od sprawdzenia parametrów środowiska, takich jak adres serwera, nazwa instancji, nazwa docelowej bazy i dane konta używanego do połączenia. Następnie mechanizm wykonuje instrukcje definicji danych, czyli operacje DDL odpowiedzialne za strukturę obiektów. Po zakończeniu może zostać uruchomiony etap migracji, który dostosowuje schemat do konkretnej wersji aplikacji. W poprawnie zaprojektowanym procesie każdy etap ma określony wynik, a niepowodzenie jest rejestrowane i zwracane do systemu wdrożeniowego. Skrypt inicjalizujący a migracje schematuSkrypt inicjalizujący służy zwykle do przygotowania pustej bazy. Może utworzyć tabele, klucze główne, relacje między tabelami, indeksy oraz wartości początkowe w tabelach konfiguracyjnych. Migracje schematu mają inne zadanie: opisują kolejne zmiany w już istniejącej bazie, na przykład dodanie kolumny, zmianę ograniczenia albo utworzenie nowego indeksu. Dzięki numerowaniu lub innemu oznaczaniu migracji można określić, które zmiany zostały już zastosowane. Ważną cechą automatyzacji jest idempotencja. Oznacza ona, że ponowne uruchomienie procesu nie powinno niszczyć poprawnie istniejącej struktury ani tworzyć duplikatów. Osiąga się to przez kontrolę stanu przed wykonaniem operacji, stosowanie jednoznacznych identyfikatorów migracji oraz rozdzielenie operacji przeznaczonych dla pustej bazy od zmian aktualizujących bazę używaną. Samo sprawdzenie, czy istnieje tabela, nie zawsze wystarcza, ponieważ tabela może istnieć, ale mieć niepełny schemat, niewłaściwy typ kolumny albo brak wymaganych indeksów. Integralność, uprawnienia i obsługa niepowodzeńAutomatyczne założenie bazy nie powinno kończyć się na utworzeniu tabel. Struktura musi wymuszać reguły wynikające z modelu danych. Klucze główne zapewniają jednoznaczną identyfikację rekordów, klucze obce opisują zależności między tabelami, a ograniczenia wartości mogą blokować zapis danych niespełniających określonych warunków. Jeżeli skrypt tworzy indeksy, trzeba uwzględnić ich wpływ na czas zapisu oraz na późniejsze operacje aktualizacji schematu. Proces powinien używać konta o zakresie uprawnień adekwatnym do wykonywanej czynności. Konto potrzebne do jednorazowej inicjalizacji może mieć inne prawa niż konto używane później przez aplikację do odczytu i zapisu danych. Dane uwierzytelniające powinny być przekazywane przez konfigurację środowiska lub bezpieczny mechanizm przechowywania sekretów, a nie wpisywane na stałe w kodzie skryptu. W przypadku błędu należy ustalić, które operacje zostały wykonane. Jeżeli silnik obsługuje transakcje dla danej grupy zmian schematu, można objąć nimi operacje wymagające atomowego zatwierdzenia; nie każda operacja administracyjna musi jednak zachowywać się tak samo jak zwykły zapis rekordu. Diagnostyka problemów z automatycznym tworzeniem bazyPrzy analizie nieudanego tworzenia bazy należy rozdzielić problemy z połączeniem, autoryzacją, konfiguracją oraz samym skryptem. Błąd połączenia może wynikać z nieprawidłowego adresu, portu, nazwy instancji, niedostępnej usługi albo blokady komunikacji. Błąd autoryzacji wskazuje na niepoprawne dane logowania, wygasłe poświadczenia lub brak wymaganych uprawnień. Jeżeli połączenie działa, ale proces zatrzymuje się podczas tworzenia tabel, trzeba sprawdzić składnię instrukcji, kolejność migracji, istniejące obiekty i zgodność typów danych z używanym silnikiem. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a w ramach diagnostyki można ustalić, czy problem z automatycznym tworzeniem bazy wynika z systemu, konfiguracji środowiska, niedostępnej usługi lub błędów programu uruchamiającego skrypt. Przydatne są komunikaty błędów wraz z godziną wystąpienia, wersją aplikacji, etapem wdrożenia oraz informacją, czy docelowa baza była pusta, czy zawierała już wcześniejsze migracje. Takie dane pozwalają odtworzyć kolejność zdarzeń i odróżnić awarię sprzętu lub systemu od błędu logiki procesu inicjalizacji. |