| Termin | Definicja |
|---|---|
| Przebudowa online | Przebudowa online pozwala na dostęp do tabeli w trakcie operacji, kosztem większego obciążenia i czasu wykonania. Na czym polega przebudowa onlinePrzebudowa online to operacja zmieniająca fizyczną organizację danych lub struktur pomocniczych tabeli przy zachowaniu możliwości korzystania z niej przez aplikacje. W praktyce może obejmować uporządkowanie indeksu, utworzenie jego nowej wersji albo przepisanie danych do innego układu bez pełnego wyłączenia tabeli z pracy. Dokładny zakres zależy od silnika bazy danych oraz rodzaju wykonywanej operacji. Nie jest to osobny typ tabeli ani format pliku, lecz sposób przeprowadzenia czynności administracyjnej. Podczas przebudowy online użytkownicy mogą zwykle wykonywać odczyty, a w niektórych konfiguracjach także zapisy. Silnik musi wtedy zapewnić spójność pomiędzy danymi, które są nadal modyfikowane, a strukturą powstającą w tle. Z tego powodu operacja wymaga dodatkowych mechanizmów synchronizacji, kontroli blokad i tymczasowego miejsca na nową wersję danych lub indeksu. Dostępność tabeli nie oznacza więc, że przebudowa odbywa się bez wpływu na działanie systemu. Blokady, synchronizacja i wpływ na zapytaniaW czasie przebudowy online silnik śledzi zmiany wprowadzane przez równoległe transakcje. Jeżeli aplikacja doda, zmieni albo usunie rekord podczas tworzenia nowej struktury, ta zmiana musi zostać uwzględniona w wyniku końcowym. Mechanizm synchronizacji może korzystać z dziennika zmian, wersjonowania wierszy, krótkich blokad metadanych albo innych rozwiązań właściwych dla danego silnika. Szczegóły nie są uniwersalne, dlatego przed wykonaniem operacji trzeba sprawdzić dokumentację używanego systemu bazodanowego. Przebudowa online zużywa zasoby procesora, pamięci operacyjnej oraz podsystemu dyskowego. Odczyt danych źródłowych i zapis nowej struktury zwiększają ruch wejścia-wyjścia, a równoległa obsługa zapytań może wydłużyć czas odpowiedzi aplikacji. W określonych momentach mogą również wystąpić oczekiwania na blokady, zwłaszcza gdy operacja wymaga zmiany metadanych tabeli lub końcowego przełączenia na nową strukturę. Dlatego dostępność tabeli należy oceniać razem z faktycznym obciążeniem i czasem odpowiedzi zapytań. Przebudowa online a przebudowa offlineWariant offline zazwyczaj pozwala silnikowi wykonywać operację przy silniejszych blokadach albo przy ograniczonym dostępie do tabeli. Dzięki temu może wymagać mniej mechanizmów synchronizacji i często zużywać mniej zasobów dodatkowych, ale w czasie pracy może uniemożliwić odczyty lub zapisy. Przebudowa online zmniejsza potrzebę planowanej niedostępności, jednak zwykle jest bardziej złożona i może trwać dłużej. Wybór wariantu powinien uwzględniać dopuszczalny czas ograniczenia dostępu, rozmiar tabeli oraz intensywność ruchu. Przed rozpoczęciem warto ustalić, co dokładnie ma zostać przebudowane i jaki problem ma zostać rozwiązany. Sama operacja nie zastępuje analizy planów wykonania zapytań, struktury indeksów ani rozkładu danych. Nieprawidłowo dobrany indeks lub nieaktualne statystyki mogą powodować wolne zapytania nawet po zakończeniu przebudowy. Należy także sprawdzić, czy silnik obsługuje tryb online dla konkretnego rodzaju struktury, poziomu blokad i używanej konfiguracji. Bezpieczne przygotowanie i kontrola wynikuPrzebudowę najlepiej poprzedzić pomiarem czasu odpowiedzi zapytań, obciążenia procesora, aktywności dysków oraz liczby oczekujących transakcji. Warto potwierdzić dostępne miejsce na dysku, ponieważ utworzenie nowej struktury może wymagać dodatkowej przestrzeni obok dotychczasowej. Należy również określić okno o mniejszym ruchu, przygotować możliwość przerwania operacji i obserwować logi silnika. Przerwanie nie zawsze oznacza natychmiastowy powrót do stanu początkowego, ponieważ system może potrzebować czasu na uporządkowanie obiektów tymczasowych i zapisanych zmian. Po zakończeniu trzeba zweryfikować status operacji, poprawność dostępu do tabeli oraz zachowanie aplikacji wykonującej zapytania. Kontrola powinna obejmować również plany wykonania, czas odpowiedzi i ewentualne nowe oczekiwania na blokady. Jeżeli przebudowa dotyczy indeksu, należy sprawdzić, czy aplikacja rzeczywiście korzysta z oczekiwanej struktury, a nie tylko potwierdzić jej formalne utworzenie. Przy problemach z wydajnością pomocna jest diagnostyka laptopa lub komputera PC obejmująca stan dysku, pamięci, procesora i oprogramowania bazodanowego uruchomionego na tym komputerze. |