| Termin | Definicja |
|---|---|
| Tryb wsadowy (Batch Mode) w zapytaniach | Tryb wsadowy przyspiesza przetwarzanie zapytań analitycznych, operując na grupach wierszy zamiast pojedynczo. Na czym polega przetwarzanie wsadowe zapytańTryb wsadowy, określany po angielsku jako Batch Mode, jest sposobem wykonywania zapytania, w którym system przetwarza dane w grupach wierszy, a nie pojedynczo. Taka grupa jest zwykle nazywana wektorem lub pakietem danych. Operator wykonujący obliczenia otrzymuje wiele wartości jednocześnie, dzięki czemu może ograniczyć liczbę wywołań procedur, sprawdzeń warunków i przejść pomiędzy poszczególnymi elementami planu wykonania. Mechanizm ten ma szczególne znaczenie dla zapytań analitycznych. Agregacje, filtrowanie dużych zbiorów, sortowanie, łączenie tabel oraz obliczenia wykonywane dla wielu rekordów mogą być realizowane bardziej regularnie, gdy dane są obsługiwane blokami. W przeciwieństwie do klasycznego przetwarzania wierszowego system nie musi za każdym razem wykonywać pełnego zestawu czynności związanych z pobraniem, przekazaniem i obliczeniem jednego rekordu. Nie oznacza to jednak, że każde zapytanie automatycznie zadziała szybciej. Wybór trybu zależy od planu wykonania, rodzaju operatorów, rozmiaru danych i możliwości konkretnego silnika. Wektory danych, pamięć podręczna i koszt obliczeńJedną z przyczyn przyspieszenia jest lepsze wykorzystanie procesora. Współczesne procesory potrafią wykonywać podobne operacje na kilku wartościach za pomocą instrukcji wektorowych, nazywanych SIMD, czyli Single Instruction, Multiple Data. Jeśli operator zapytania wykonuje tę samą operację arytmetyczną lub logiczną na dużej liczbie wartości, dane zorganizowane w pakiety mogą ograniczyć narzut związany z obsługą pojedynczych wierszy. Przetwarzanie wsadowe może również poprawić lokalność odwołań do pamięci. Wiersze lub kolumny przetwarzane w określonym porządku mają większą szansę pozostać w pamięci podręcznej procesora, zanim zostaną użyte ponownie. Mniejsza liczba przejść między warstwą silnika zapytań a strukturami danych może obniżyć koszt zarządzania wykonaniem. Rzeczywista korzyść zależy od układu danych. Szerokie rekordy, częste konwersje typów, funkcje wykonywane dla każdego wiersza oraz operacje wymagające nieregularnego dostępu do danych mogą ograniczyć przewagę trybu wsadowego. W niektórych architekturach tryb wsadowy jest naturalnie powiązany z przetwarzaniem kolumnowym, ponieważ wartości jednej kolumny można przekazywać do operatora jako zwarty pakiet. Nie jest to jednak reguła obowiązująca dla każdego silnika. Najważniejszą cechą pozostaje sposób organizacji wykonania operatorów, a nie sama nazwa formatu przechowywania danych. Ten sam plan może zawierać fragmenty wykonywane wsadowo i fragmenty wykonywane wierszowo. Jak rozpoznać tryb wsadowy w planie wykonaniaInformacji o zastosowanym trybie należy szukać w planie wykonania zapytania oraz w narzędziach monitorujących pracę silnika. W zależności od konkretnego produktu mogą być widoczne oznaczenia przy operatorach, właściwość wykonania planu albo osobne statystyki dotyczące przetwarzania wsadowego. Sam fakt, że zapytanie zwróciło wynik, nie pozwala stwierdzić, czy użyto Batch Mode. Również krótszy czas wykonania pojedynczego uruchomienia nie jest wystarczającym dowodem, ponieważ wynik może zależeć od rozgrzanej pamięci podręcznej, aktualnego obciążenia i dostępności danych w pamięci. Podczas analizy trzeba porównać plan szacowany z planem rzeczywistym. Plan rzeczywisty pokazuje między innymi liczbę faktycznie przetworzonych wierszy oraz miejsca, w których operator zmienił sposób działania. Duża różnica między szacowaną i rzeczywistą liczbą rekordów może spowodować wybór niekorzystnego planu i ograniczyć możliwość użycia przetwarzania wsadowego. Warto sprawdzić także czas CPU, czas oczekiwania, odczyty logiczne, wykorzystanie pamięci oraz ewentualne przepełnienia struktur pomocniczych na dysk. Jeżeli wynik jest wolniejszy po włączeniu trybu wsadowego, przyczyną może być zbyt mały zbiór danych albo koszt przygotowania pakietów większy niż oszczędność uzyskana podczas obliczeń. Znaczenie ma także operator, który przerywa ciąg przetwarzania wsadowego i wymusza przejście do obsługi wierszowej. Dlatego diagnostyka powinna obejmować cały plan, a nie tylko pojedynczy operator oznaczony jako wsadowy. Wpływ trybu wsadowego na pracę komputeraNa laptopie lub komputerze PC zapytania analityczne korzystające z trybu wsadowego mogą obciążać procesor, pamięć operacyjną, nośnik danych i system chłodzenia. Podczas długiego obliczenia wzrost użycia procesora jest zjawiskiem oczekiwanym, ale jego skutkiem może być podwyższona temperatura oraz obniżenie częstotliwości pracy procesora przez mechanizm ochrony termicznej, czyli throttling. Jeżeli komputer nie ma odpowiedniego chłodzenia, użytkownik może zaobserwować spadki wydajności innych programów, opóźnienia interfejsu albo przerwanie obliczeń. Przy problemach z wydajnością należy ustalić, czy ograniczeniem jest moc obliczeniowa, ilość pamięci, szybkość nośnika, czy sposób wykonania samego zapytania. Pomocne jest porównanie obciążenia podczas tego samego zadania, obserwacja temperatur i sprawdzenie, czy system nie zapisuje tymczasowych danych na wolnym lub przepełnionym dysku. Aktualizacja sterowników, czyszczenie układu chłodzenia albo wymiana uszkodzonego podzespołu nie zastąpi optymalizacji zapytania, ale może usunąć sprzętową przyczynę niestabilności. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów stacjonarnych PC i ich podzespołów, dlatego można zlecić sprawdzenie komputera, który przegrzewa się, zwalnia lub wyłącza podczas długotrwałego przetwarzania danych. |