SQL Server w logistyce

SQL Server 2019 - główne cechy i funkcje wersji

Trzy zmiany z wersji 2019 widać w codziennej pracy: szybsze zapytania bez ruszania kodu, szyfrowanie w trakcie przetwarzania i dostęp do danych spoza serwera.

sql.server.net.pl/sql-server/
Świecąca chmura z kafelkami danych nad nocną panoramą miasta
Świecąca chmura z kafelkami danych nad nocną panoramą miasta
W skrócie
  • Największą praktyczną zmianą jest inteligentne przetwarzanie zapytań: silnik koryguje plan w trakcie wykonania, więc część zapytań przyspiesza bez zmian w kodzie aplikacji.
  • Always Encrypted z bezpiecznymi enklawami pozwala liczyć na danych zaszyfrowanych — administrator serwera nie widzi ich zawartości.
  • Wirtualizacja danych umożliwia zapytanie do źródła zewnętrznego bez kopiowania go do bazy, co usuwa całą klasę zadań nocnego przenoszenia danych.
  • Wersja 2019 pracuje także na systemie Linux i w kontenerach — to zmienia sposób budowania środowisk testowych, nie samą aplikację.

Czym jest SQL Server 2019

Program SQL Server 2019 oferuje nowatorskie funkcje zapewniające bezpieczeństwo i zgodność z przepisami, najlepszą w branży wydajność, dostępność zasobów o znaczeniu krytycznym oraz zaawansowaną analitykę bez względu na obciążenie danymi i wbudowaną obsługę danych Big Data.

Przede wszystkim SQL Server 2019 integruje się z chmurą Azure. Poza tym oferuje zaawansowane funkcje analizy danych. Dodatkowo poprawia wydajność i bezpieczeństwo baz danych.

Następnie SQL Server 2019 wprowadza innowacyjne rozwiązania. Na przykład Big Data Clusters pozwalają na łączenie danych z różnych źródeł. Co więcej, usprawnia to procesy biznesowe.

Cztery obszary, w których wersja 2019 zmienia zasady
Wydajność WydajnośćPlan zapytania korygowany na podstawie rzeczywistej liczby wierszy
Szyfrowanie SzyfrowanieObliczenia na danych zaszyfrowanych w wydzielonym obszarze pamięci
Dane zewnętrzne Dane zewnętrzneZapytanie do innego źródła bez przenoszenia danych do bazy
Środowisko ŚrodowiskoPraca na Windows, na Linuksie i w kontenerach

Pierwszy obszar działa po samym podniesieniu poziomu zgodności bazy. Trzy pozostałe wymagają decyzji projektowej i testów.

Elementy platformy, z których najczęściej korzystają rozwiązania magazynowe i logistyczne:

  • Silnik bazy danych — tabele, indeksy, procedury składowane i wyzwalacze, czyli to, na czym opiera się codzienna praca aplikacji.
  • SQL Server Agent — harmonogram zadań: kopie zapasowe, przeliczenia nocne, wysyłka zestawień.
  • Reporting Services — projektowanie i udostępnianie raportów bez pisania kodu aplikacji.
  • Integration Services — przenoszenie i przekształcanie danych między systemami.
  • Mechanizmy kopii zapasowych — tryb odtwarzania, dziennik transakcji i odtwarzanie do wskazanego momentu.

Główne cechy wersji 2019

SQL Server 2019 to potężne narzędzie bazodanowe oferowane przez Microsoft. Umożliwia ono użytkownikom analizowanie danych z całego środowiska bez konieczności ich przenoszenia czy replikacji. Dzięki temu rozwiązaniu można łatwo przełamać bariery między różnymi źródłami informacji. Ponadto system ten zapewnia elastyczność w wyborze języka programowania i platformy, wspierając rozwiązania open source. Użytkownicy mogą uruchamiać SQL Server na kontenerach Linux z obsługą Kubernetes lub na systemie Windows.

Jedną z istotnych zalet SQL Server 2019 jest jego wydajność. System oferuje przełomową skalowalność i szybkość działania, co przekłada się na poprawę stabilności i czasu odpowiedzi bazy danych. Co więcej, nie wymaga to wprowadzania zmian w aplikacjach. SQL Server 2019 zapewnia również wysoką dostępność dla krytycznych aplikacji biznesowych, hurtowni danych oraz jezior danych. Warto podkreślić, że system ten został uznany za najmniej podatny na ataki w ciągu ostatnich dziewięciu lat, co świadczy o jego wysokim poziomie bezpieczeństwa.

SQL Server 2019 wyposażony jest w zaawansowane narzędzia do raportowania. Użytkownicy mogą korzystać z możliwości SQL Server Reporting Services oraz Power BI Report Server, co pozwala na tworzenie interaktywnych raportów dostępnych na różnych urządzeniach. Microsoft wprowadził również model pay-as-you-go dla SQL Server 2019, umożliwiający płacenie tylko za faktycznie wykorzystane zasoby. System ten, wspierany przez Azure Arc, rozszerza usługi Azure na środowiska lokalne i pozwala na zarządzanie infrastrukturą SQL Server z poziomu portalu Azure.

Co zmieniło się względem wcześniejszych wersji
ObszarWcześniejW wersji 2019
Plan zapytaniaUstalany raz, na podstawie oszacowań sprzed wykonaniaKorygowany w trakcie wykonania, gdy oszacowanie okaże się błędne
Szyfrowanie kolumnDane odszyfrowywane po stronie aplikacjiOperacje porównania i zakresu wykonywane na danych zaszyfrowanych
Dane spoza bazyKopiowanie do tabeli pośredniej przed analiząZapytanie kierowane wprost do źródła zewnętrznego
System operacyjnyWyłącznie Windows ServerWindows, dystrybucje Linuksa oraz kontenery
Odbudowa indeksuOperacja niepodzielna, przy przerwaniu zaczynana od nowaMożliwa do wstrzymania i wznowienia
Kopia zapasowaKompresja bez wsparcia sprzętowegoKrótszy czas wykonania przy kopiach dużych baz

Zestawienie dotyczy różnic odczuwalnych w eksploatacji. Pełna lista zmian obejmuje także elementy istotne wyłącznie przy budowie rozwiązań analitycznych.

Co sprawdzić, zanim baza zostanie przeniesiona na wersję 2019:

  1. Poziom zgodności bazy. Sama aktualizacja instancji nie włącza nowego sposobu przetwarzania zapytań — trzeba podnieść poziom zgodności, a to zmienia plany wykonania.
  2. Zapytania wrażliwe na plan. Warto zapisać czasy wykonania najcięższych zapytań przed aktualizacją, żeby mieć punkt odniesienia.
  3. Zgodność sterowników. Aplikacje łączące się starszymi bibliotekami mogą wymagać podniesienia wersji sterownika.
  4. Edycja licencji. Część funkcji dostępnych wcześniej wyłącznie w edycji Enterprise trafiła do Standard — warto sprawdzić, czy posiadana edycja wystarczy.
  5. Kopia i plan wycofania. Poziomu zgodności nie da się cofnąć bez skutków dla planów zapytań, więc kopia sprzed operacji jest jedyną drogą powrotu.

Rola bazy danych w systemie magazynowym

W rozwiązaniach logistycznych baza danych nie jest wyłącznie miejscem składowania. To ona rozstrzyga, czy dwie osoby skanujące ten sam towar w tej samej chwili zobaczą spójny stan, i to ona pilnuje, żeby przerwane połączenie z terminalem nie zostawiło dokumentu w połowie zapisanego.

Dlatego przy systemie magazynowym istotniejsze od nowych funkcji analitycznych bywają rzeczy mniej efektowne: sposób blokowania rekordów, tryb odtwarzania i czas wykonania kopii zapasowej. Magazyn pracujący na trzy zmiany nie ma okna serwisowego, w którym baza mogłaby być niedostępna przez godzinę.

Wersja 2019 poprawia tu dwie rzeczy odczuwalne w eksploatacji. Odbudowę indeksu można wstrzymać i wznowić, więc nie trzeba jej mieścić w jednym oknie. Kompresja kopii zapasowej działa szybciej, co przy bazie liczonej w setkach gigabajtów skraca operację wykonywaną codziennie.

Objawy, po których poznać przeciążoną bazę

Skargi użytkowników rzadko brzmią „baza zwalnia”. Brzmią raczej: skaner długo czeka na potwierdzenie, raport miesięczny nie chce się otworzyć, zapisanie dokumentu trwa kilkanaście sekund zamiast jednej. Każdy z tych objawów ma inną przyczynę i inne rozwiązanie.

Najczęstsze źródło problemu to brak indeksu na kolumnie, po której filtruje aplikacja — wtedy silnik przegląda całą tabelę zamiast wskazanego fragmentu. Drugie w kolejności są zapytania raportowe uruchamiane na bazie produkcyjnej w godzinach pracy magazynu. Trzecie to zbyt szeroki zakres dat ustawiony jako domyślny na ekranie zestawienia.

Warto rozstrzygnąć to pomiarem, zanim padnie decyzja o rozbudowie serwera. Dołożenie pamięci pomaga wtedy, gdy problemem jest rozmiar danych roboczych; przy brakującym indeksie nie zmienia niczego poza rachunkiem.

FAQ

Najczęstsze pytania o SQL Server 2019

01

Czy sama aktualizacja serwera przyspieszy zapytania?

Nie od razu. Inteligentne przetwarzanie zapytań włącza się dopiero po podniesieniu poziomu zgodności bazy danych do wersji 150. Aktualizacja samej instancji pozostawia bazę na dotychczasowym poziomie, więc silnik nadal układa plany po staremu. Podniesienie poziomu zgodności warto poprzedzić zapisaniem czasów wykonania najcięższych zapytań, bo część planów się zmieni i nie każda zmiana jest korzystna.

02

Czym różni się Always Encrypted z enklawami od zwykłego szyfrowania kolumn?

Przy zwykłym Always Encrypted serwer przechowuje dane zaszyfrowane i nie potrafi na nich nic policzyć — porównania i sortowanie musi wykonać aplikacja. Bezpieczne enklawy tworzą w pamięci serwera wydzielony obszar, w którym dane są chwilowo odszyfrowywane na potrzeby operacji, ale poza ten obszar nie wychodzą. Dzięki temu działa wyszukiwanie po zakresie na kolumnie zaszyfrowanej.

03

Czy wersja na Linuksa jest ograniczona względem wersji dla Windows?

Silnik bazy danych jest ten sam, natomiast część usług towarzyszących — między innymi Reporting Services w klasycznej postaci — pozostała po stronie Windows. Przy rozwiązaniach, które opierają raportowanie na Reporting Services, wybór Linuksa oznacza rozdzielenie ról między dwa serwery.

04

Do kiedy Microsoft wspiera wersję 2019?

Wersja przeszła już z fazy wsparcia podstawowego do rozszerzonego, w którym otrzymuje wyłącznie poprawki bezpieczeństwa. Dla nowych wdrożeń oznacza to, że warto od razu rozważyć nowszą wersję, natomiast dla działających instalacji nie ma powodu do pośpiechu, dopóki wsparcie rozszerzone trwa.

Słownik pojęć

Słownik pojęć

Pojęcia, które pojawiają się przy eksploatacji bazy Microsoft SQL Server.

MMicrosoft SQL Server
Serwer relacyjnej bazy danych, na którym pracują aplikacje SoftwareStudio. Odpowiada za spójność danych, uprawnienia dostępu, kopie zapasowe i wydajność zapytań.
TT-SQL
Transact-SQL — dialekt języka SQL używany w Microsoft SQL Server. Służy do zapytań, procedur składowanych, wyzwalaczy i logiki uruchamianej po stronie serwera.
IIndeks bazodanowy
Struktura przyspieszająca wyszukiwanie wierszy w tabeli. Dobrze dobrane indeksy skracają czas zapytań, ale spowalniają zapisy i zajmują miejsce na dysku.
KKopia zapasowa
Zabezpieczona kopia bazy danych pozwalająca odtworzyć stan systemu po awarii. W SQL Server wykonuje się ją w trybie pełnym, różnicowym lub jako kopię dziennika transakcji.
WWydajność zapytań
Czas, w jakim baza danych zwraca wynik. Zależy od indeksów, planu wykonania i objętości przetwarzanych danych.
SSkalowalność
Zdolność systemu do obsłużenia rosnącej liczby użytkowników, dokumentów i lokalizacji bez przebudowy.
IInstalacja lokalna
Wdrożenie na serwerze należącym do klienta, w jego sieci. Daje pełną kontrolę nad danymi, ale przenosi na firmę odpowiedzialność za kopie zapasowe i dostępność.
CChmura obliczeniowa
Udostępnianie mocy serwerów i przestrzeni dyskowej przez internet. Zdejmuje z firmy obowiązek utrzymania własnej serwerowni i pozwala skalować zasoby na żądanie.
MMigracja danych
Przeniesienie kartotek i historii ze starego systemu do nowego. Etap, na którym najczęściej ujawnia się rzeczywista jakość danych w firmie.

Zobacz to w praktyce

Sprawdź, jak systemy SoftwareStudio oparte na MS SQL Server wspierają ten obszar Twojej firmy.