| Termin | Definicja |
|---|---|
| Automatyzacja aktualizacji statystyk | Automatyzacja aktualizacji statystyk to mechanizm cyklicznie odświeżający dane rozkładu wartości wykorzystywane przez optymalizator zapytań. Automatyzacja aktualizacji statystyk – czym jest ten mechanizmAutomatyzacja aktualizacji statystyk oznacza zaplanowane i powtarzalne odświeżanie informacji opisujących rozkład danych w tabelach. Takie informacje są wykorzystywane przez optymalizator zapytań do oceny, ile rekordów może spełniać określony warunek, jak bardzo kolumny są zróżnicowane oraz który sposób dostępu do danych będzie najbardziej odpowiedni. Na tej podstawie system może zdecydować, czy skorzystać z indeksu, wykonać skanowanie tabeli, połączyć zbiory w określonej kolejności albo zmienić sposób sortowania i filtrowania. Statystyki nie są kopią danych biznesowych i nie służą do ich archiwizacji. Stanowią raczej skrócony opis rozkładu wartości. Mogą zawierać informacje o liczbie wierszy, liczbie różnych wartości, częstości występowania poszczególnych przedziałów oraz relacji między wartościami skrajnymi. Dzięki temu optymalizator nie musi analizować całej tabeli przed każdym zapytaniem. Posługuje się przybliżeniem, które powinno być możliwie aktualne, zwłaszcza gdy dane często się zmieniają. Automatyzacja polega na uruchamianiu procesu według harmonogramu, po przekroczeniu określonego poziomu zmian albo jako część większego zadania utrzymaniowego. W dobrze przygotowanym środowisku mechanizm uwzględnia obciążenie systemu, wielkość tabel, porę wykonywania operacji oraz znaczenie poszczególnych zbiorów dla codziennej pracy. Automatyzacja aktualizacji statystyk a działanie optymalizatoraOptymalizator zapytań podejmuje decyzje na podstawie dostępnych metadanych i przewidywanego kosztu wykonania. Jeżeli statystyki wskazują, że warunek zwróci niewielką część tabeli, często korzystne będzie użycie indeksu. Jeżeli natomiast większość wierszy spełnia kryterium, odczyt większych fragmentów tabeli może być sprawniejszy bez wielokrotnego sięgania do indeksu. Nie jest to reguła bez wyjątków, dlatego istotna pozostaje jakość danych opisujących rozkład wartości. Nieaktualne statystyki mogą powodować błędne oszacowanie liczby wyników. W konsekwencji wybrany zostaje plan, który wygląda dobrze na podstawie dawnych informacji, lecz w praktyce wymaga znacznie większej liczby operacji. Skutkiem może być dłuższy czas odpowiedzi, większe zużycie pamięci, niepotrzebne sortowanie albo przeciążenie zasobów procesora i dysku. Warto odróżnić automatyczne odświeżanie statystyk od przebudowy indeksu oraz od reorganizacji danych. Są to różne czynności, choć mogą być wykonywane w ramach jednego harmonogramu. Aktualizacja statystyk zmienia opis rozkładu danych, a przebudowa indeksu porządkuje jego strukturę lub tworzy ją ponownie. Wymiana jednej czynności na drugą nie zawsze rozwiązuje problem z planem zapytania. Znaczenie ma także sposób próbkowania. Analiza całego zbioru może dostarczyć dokładniejszych informacji, lecz trwać dłużej i obciążać system. Próbka jest szybsza, ale przy nierównomiernym rozkładzie wartości może pominąć istotne cechy danych. Mechanizm automatyczny powinien więc dobierać zakres pracy do wielkości tabeli i rodzaju zmian. Automatyzacja aktualizacji statystyk – typowe problemy i objawyNajczęstszy problem pojawia się wtedy, gdy tabela zmienia się szybciej, niż uruchamiany jest proces odświeżania. Dotyczy to między innymi intensywnego dopisywania rekordów, masowych modyfikacji, usuwania dużych partii danych oraz okresowego importu. Statystyki mogą wtedy przedstawiać wcześniejszy stan, mimo że bieżące zapytania pracują na zupełnie innym rozkładzie. Innym źródłem trudności jest nierównomierny rozkład wartości. Przykładowo większość rekordów może mieć kilka popularnych wartości, a niewielka część pozostałe. Prosty opis ogólny nie zawsze odzwierciedli taką zależność. Zapytanie dotyczące rzadkiej wartości może zostać potraktowane tak, jakby zwracało wiele wierszy, albo odwrotnie. W obu przypadkach plan może być niedopasowany do rzeczywistego wyniku. Problemy mogą występować również po przywróceniu kopii danych, migracji, zmianie schematu lub dużej operacji czyszczenia. Jeżeli proces odświeżania nie uruchomi się po takiej zmianie, optymalizator nadal będzie korzystał z informacji odziedziczonych po wcześniejszym środowisku. Niekiedy automatyczne zadanie jest aktywne, lecz pomija wybrane tabele z powodu błędów uprawnień, limitu czasu albo niewłaściwego zakresu. Do sygnałów ostrzegawczych należą nagłe skoki czasu wykonywania tych samych zapytań, różnice między przewidywaną a faktyczną liczbą rekordów, częste zmiany planów, wzrost obciążenia dysku oraz sytuacja, w której mały wynik wymaga odczytu niemal całej tabeli. Sam objaw nie wskazuje jeszcze przyczyny. Należy sprawdzić plan, aktualność statystyk, indeksy, parametry zapytania i moment ostatnich zmian danych. Automatyzacja aktualizacji statystyk – praktyczne wskazówki konfiguracyjnePrzy projektowaniu harmonogramu należy obserwować rytm zmian, a nie stosować jednego odstępu dla wszystkich tabel. Zbiór aktualizowany kilka razy dziennie może wymagać częstszego odświeżania niż tabela zmieniana sporadycznie. Warto też rozdzielić zadania według rozmiaru i ważności, aby duża analiza nie opóźniała czynności dotyczących mniejszych, często używanych tabel.
Przydatne jest ustanowienie progu zmian, po którego przekroczeniu zadanie zostanie uruchomione wcześniej. Taki próg nie powinien być traktowany jako gwarancja poprawnego planu, ponieważ istotna może być nie tylko liczba zmienionych wierszy, lecz także charakter zmian. Dopisanie wielu rekordów o podobnych wartościach może mieć inny wpływ niż mniejsza liczba zmian rozproszonych po wielu przedziałach. Po wdrożeniu automatyzacji należy prowadzić okresową kontrolę. Sprawdza się, czy zadania rzeczywiście się wykonują, czy nie są przerywane oraz czy po odświeżeniu poprawiają się oszacowania optymalizatora. Jeżeli plan nadal jest niekorzystny, przyczyną może być konstrukcja zapytania, brak odpowiedniego indeksu, niejawna konwersja typów albo zależność między kolumnami, której podstawowe statystyki nie opisują wystarczająco dobrze. Automatyzacja aktualizacji statystyk – kiedy potrzebna jest pomoc serwisuDo serwisu warto zgłosić się wtedy, gdy spowolnienie pracy pojawia się cyklicznie, po określonych operacjach na danych albo bez wyraźnej zmiany konfiguracji. Przed zgłoszeniem można zanotować, które programy działają wolniej, kiedy występuje problem, czy dotyczy wszystkich użytkowników oraz czy ponowne uruchomienie aplikacji coś zmienia. Takie informacje ułatwiają rozdzielenie kłopotów z komputerem, systemem operacyjnym, nośnikiem danych i samą aplikacją bazodanową. Warszawskie Pogotowie Komputerowe 24/7 przyjmuje zgłoszenia dotyczące diagnostyki laptopa i komputera PC, w tym sytuacji, w których powolne działanie programu może być mylone z błędem danych lub ustawień. W razie potrzeby można sprawdzić stan sprzętu, obciążenie podzespołów, działanie nośnika, aktualność systemu oraz podstawowe elementy konfiguracji. Naprawy z reguły są wykonywane do 3 dni roboczych, zależnie od zakresu czynności i dostępności urządzenia. Nie należy samodzielnie usuwać plików konfiguracyjnych, wyłączać zadań utrzymaniowych ani zmieniać ustawień bez zapisania stanu wyjściowego. Szczególną ostrożność zachowuje się przed operacjami na danych produkcyjnych. Najpierw powinno się wykonać kopię zapasową, zebrać informacje o objawach i ustalić, czy problem dotyczy jednego zapytania, całej aplikacji czy całego komputera. Dzięki temu automatyzacja aktualizacji statystyk może zostać oceniona jako element szerszego procesu utrzymania, a nie jako jedyna możliwa przyczyna spowolnienia. |