Ostatnie artykuły

Zmiana compatibility level w SQL Server – wskazówki

Zmiana compatibility level w SQL Server

Ostatnimi czasy wspierałem administratora baz danych podczas zmiany “compatibility level” dla jednej z baz hurtowni danych. Konkretnie zmiana dotyczyła przejścia z trybu 110 (zgodny z SQL Server 2012) na tryb 120 (zgodny z SQL Server 2014). Baza działała w trybie zgodnym z SQL Server 2012, natomiast Server został już wcześniej “upgradowany” do SQL Server 2014. W tym poście chciałbym podzielić się z problemami oraz wskazówkami dotyczącymi tej zmiany. Przedstawię swój plan pracy oraz poszczególne etapy oraz problemy, które napotkałem. Wskazówki mogą się okazać szczególnie przydatne w przypadku baz hurtowni danych, które uczestniczą w procesie ETL.

Columnstore Index – mechanizmy kompresji

Indeksy kolumnowe to jeden z kilku moich ulubionych tematów związanych z SQL Server. Na przestrzeni kilku ostatnich wersji SQL Server zmieniły się one nie do poznania i wywarły bardzo duży wpływ na to jak z technicznego punktu widzenia budujemy hurtownie danych. Ich premiera odbyła się wraz z Denali, czyli SQL Server 2012 gdzie były pierwszą implementacją pomysłu kolumnowego składowania i przetwarzania danych. Pierwsze ich wydanie było bardzo mocno ograniczone przez co liczba scenariuszy w jakich mogliśmy ich użyć drastycznie spadała. Miałem możliwość implementacji indeksów kolumnowych i przedstawienia prezentacji na ich temat jednakże zauważyłem, że na niniejszym blogu jest bardzo mało…
Read more

SQL Server Hash Match – jak to działa

HashJoin_00

Nadszedł czas opisać ostatni algorytm złączenia dostępny w SQL Server, którym po Nested Loops oraz Merge Join jest Hash Match. Pierwszy z nich sprawdza się doskonale przy małych zbiorach danych, drugi to świetny algorytm łączący posortowane zbiory danych, bohater niniejszego artykułu sprawdza się z kolei bardzo dobrze przy dużych, nieposortowanych zbiorach wejściowych. Jak to wszystko działa? Postaram się to wytłumaczyć w ramach niniejszego artykułu. Operacja Hash match wewnętrznie składa się z dwóch faz tj. build oraz probe. Podczas fazy build Hash match skanuje jedno z wejść i każdą wartość zamienia na hash i na tej podstawie buduje tabele z wygenerowanymi…
Read more

Power BI w praktyce – odcinek 24 – Microsoft Ignite, co tam się działo…. [Nagranie]

Power BI Microsoft Ignite

Analiza konferencji Microsoft Ignite doczekała się również narracji. W ostatnim odcinku “Power BI w praktyce” gościnnie zaprezentowałem opisywaną wcześniej tutaj analizę tej konferencji. Dla tych z Was, którzy jeszcze nie wiedzą “Power BI w praktyce” jest to kanał współtworzony przez Bartłomieja Graczyka oraz Pawła Potasińskiego na YouTubie, w którym pokazują Power BI od strony praktycznej. Polecam obserwować ten kanał, bo jest tam naprawdę sporo dobrej treści. Polecam oczywiście również odcinek w którym wystąpiłem. Kanał “Power BI w praktyce”: YouTube PS. Zaktualizowany raport oraz projekt dostępny jest do ścignięcia na GitHub: GitHub

Partition switching w SQL Server

W przypadku hurtowni danych podczas ładowań danych do tabeli faktów bardzo często zdarza się, że chcemy zastąpić dane za określony okres (np. miesiąc)  świeżymi danymi z systemów źródłowych. Może to być wykonane na wiele sposobów, dla przykładu możemy usunąć z tabeli ostatni miesiąc komendą DELETE i wstawić nowe dane. Wiąże się to z wieloma niedogodnościami, po pierwsze operacja usunięcia będzie w pełni logowana, po drugie samo wyszukanie danych do usunięcia może być problematyczne. Dodatkowo możemy mieć problemy związane z lockami i blokadami. Powszechnie znanym faktem jest to, że jednymi z najszybszych operacji w SQL Server są operacje na metadanych, które…
Read more