Wprowadzenie do hurtowni danych przygotował: Paweł Kasprowski
Informacje ogólne ( pawel@kasprowski.pl ) Wykładowca: Paweł Kasprowski Temat: Wprowadzenie do hurtowni danych Umiejętności wymagane: Znajomość zasady działania relacyjnej bazy danych Znajomość języka SQL i serwera Microsoft SQL Server Umiejętności uzyskiwane: Znajomość podstawowych elementów hurtowni danych Użytkowanie narzędzia SQL Server Business Intelligence Development Studio Tworzenie i konfiguracja hurtowni danych w Microsoft Analysis Services
Plan przedmiotu Podstawy hurtowni danych Główne właściwości, architektura Tworzenie hurtowni danych w SSBDS Kostki, miary, wymiary Modyfikacje wymiarów Hierarchie, relacje, obliczenia, grupowanie Rozbudowa hurtowni danych Obliczenia, calculated members, podstawy MDX Przechowywanie hurtowni danych MOLAP, ROLAP, HOLAP
Podstawowe wiadomości przygotował: pawel@kasprowski.pl
Przykład Baza danych pracująca w hipermarkecie Szybkie aktualizacje Dużo rozdrobnionych danych Praca on-line Ważna dostępność Problemy z analizą danych, raportowaniem
Czym jest hurtownia danych? OLTP OnLine Transaction Processing przetwarzanie bieżące ciągłe zmiany w bazie optymalizacja aktualizacji współbieżność małe użytkowanie danych historycznych skomplikowane i wolne zapytania analityczne OLAP OnLine Analytical Processing optymalizacja skomplikowanych zapytań brak (lub rzadkie) aktualizacje użytkowanie danych historycznych
Kostka (cube) Kostka to podstawowy element hurtowni danych podlegający analizie W jednej hurtowni może się znajdować więcej kostek Kostką charakteryzują wymiary (dimensions), np. Czas Produkt Klient Sprzedawca Wewnątrz kostki znajdują się miary (measures) ( wartość wartości które interesują analityka (np. ilość,
Struktura kostki ( measures ) Tablica faktów zawiera miary ( dimensions ) Tablice wymiarów Wymiary mogą mieć: ( star ) Schemat gwiazdy ( snowflake ) Schemat płatka śniegu Strukturę parent-child
Tablica faktów Jeden fakt jeden wiersz Tablica faktów zawiera: ( measures ) wartości mierzone miary klucze obce do tablic wymiarów Dane z tablicy faktów podlegają analizie agregacjom, przeliczeniom
Schemat gwiazdy Wymiar w tablicy faktów znajduje się identyfikator dotyczący wymiaru Schemat gwiazdy jedna tablica zawierająca wszystkie informacje na temat wymiaru Przykład pole customer_id jest kluczem obcym w tablicy faktów sales tablica Customer zawiera dane klientów
Schemat snowflake Wymiar w tablicy faktów znajduje się identyfikator dotyczący wymiaru Schemat płatka śniegu dane na temat wymiaru zawarte są w większej ilości tabel wzajemnie ze soba powiązanych Przykład pole customer_id jest kluczem obcym w tablicy faktów sales wymiar zawiera tablice product i product_class pole product_class_id jest kluczem obcym w tablicy product
Wymiar parent-child Dla pokazania hierarchii obiektów tej samej klasy Struktura parent-child tablica wymiaru zawiera drzewo wzajemnych powiązań między jej rekordami Przykład: pole employee_id jest kluczem obcym w tablicy faktów sales tablica pracowników (employee) zawiera pola employee_id oraz supervisor_id pokazujący zwierzchnika danego pracownika wymiar tworzy na tej podstawie drzewo hierarchiczne Kierownik-Podwładny
Wymiar czasowy Na podstawie pojedynczego pola datowego Pozwala na automatyczne tworzenie poziomów Year, Month, Day Year, Quarter, Month, Day Year, Week, Day Year, Month, Day, Hour, Minute itd
Wymiary - hierarchie Składniki wymiarów ( levels ) Poziomy ( members ) Elementy Wymiar stanowi drzewo zawierające elementy na poszczególnych poziomach Np. wymiar customer: poziomy: country, state, city, name elementy: USA, Illinois, Chicago, Adamsky
Poziomy i elementy level country USA Canada Mexico level state Yucatan Illionois Florida level city Chicago Orlando Richmond
Poziomy i elementy USA Oregon Illionois Chicago Florida Orlando Canada British Columbia Richmond Mexico Yucatan Merida
Miary (measures) Tablica faktów zawiera: klucze obce do tablic wymiarów ( measures ) wartości mierzone miary Miary numeryczne są agregowane dla poszczególnych elementów wymiarów ( Florydzie (np. sprzedaż w 1998 na jeśli jest ich więcej same tworzą wymiar o nazwie Measures
Operacje na kostkach ( wycinek ) Slice wycięcie jednej warstwy dla wartości z jednego wymiaru (np. dane z Oregonu lub dane z 1998 ( roku (? kostkowanie ) Dice wycięcie podkostki po określeniu wartości z kilku wymiarów (np. dane o sprzedaży marchwi na ( roku Florydzie w 2001
Operacje na kostkach ( drill-up ) Zwijanie analiza danych bardziej zagregowanych przykład: analiza sprzedaży od poszczególnych osób do sumarycznych danych dla całych stanów ( drill-down ) Rozwijanie analiza danych bardziej szczegółowych przykład: analiza sumarycznej sprzedaży i schodzenie na poziom poszczególnych stanów, miast i na koniec osób
Microsoft SQL Server Informacje ogólne
Architektura klient-serwer klient SQL Server Results Query Query OLTP OLAP
Serwisy Windows MS SQL Server serwer relacyjnych baz danych SQL Server Agent wykonywanie zadań Business Intelligence Analysis Services Reporting Services Integration Services
Bazy systemowe Master konfiguracja serwera Model model dla nowych baz Tempdb dla obiektów chwilowych Msdb dla SQL Server Agent'a
Narzędzia SQL Server Management Studio SQL Server Business Intelligence Development Studio Narzędzia konfiguracyjne SQL Server Configuration Manager SQL Server Surface Area Configuration Z linii poleceń: sqlcmd
Maksymalne... Baz na serwerze Wielkość bazy Plików w bazie Wielkość pliku Obiektów w bazie (tables, views, stored procedures, extended stored procedures, triggers, rules, defaults, and constraints) 32.767 1.048.516 TB 32.767 32 TB 2.147.483.647 Kolumn w tabeli 1024
Wersje Podstawowe: SQL Server Express Edition SQL Server Workgroup Edition SQL Server Standard Edition SQL Server Enterprise Edition Inne: SQL Server Developer Edition SQL Server Mobile (Compact) Edition
SQL Management Studio Podstawowa aplikacja do obsługi serwera Sparametryzowa wersja Visual Studio 2005 IDE Umożliwia: tworzenie i modyfikację obiektów w formatkach edycję skryptów SQL edycję skryptów MDX
SQL Management Studio Wszystkie okienka są niemodalne Drzewa w oknach (np. Registered Servers) rozwijane są asynchroniczne - nie blokuje to narzędzia Możliwość tworzenia projektów solutions podobnie jak w Visual Studio Tworzenie kodu T-SQL, MDX, MX i XMLA "Skryptowanie" automatyczne tworzenie kodu T- SQL na podstawie wprowadzonych w formatce danych Wiele narzędzi zintegrowanych z konsolą (np. Report Designer, DTS Designer)
Pakiet Analysis Services przygotował: pawel@kasprowski.pl
Pakiet Business Intelligence Analysis Services hurtownie danych Integration Services Procesy ETL (extract transform load) Reporting Services raportowanie Business Intelligence Development Studio użytkowanie elementów pakietu
Analysis Services Serwer przechowujący hurtownie danych Przechowuje struktury, agregacje ale nie pojedyncze dane Dane wydobywane są z bazy relacyjnej
Business Intelligence Development Studio Oparte na Visual Studio Typy projektów Analysis Services ( SSIS Integration Services (pakiety Reporting Services Narzędzie standardowe w SQL Server do tworzenia projektów nie do administracji!
Etapy tworzenia projektu New Analysis Services Project Wybór źródła danych Stworzenie widoku danych Stworzenie kostki Przeglądanie kostki
Tworzenie projektu przygotował: pawel@kasprowski.pl
Elementy projektu przygotował: pawel@kasprowski.pl
Źródło danych przygotował: pawel@kasprowski.pl
Widok przygotował: pawel@kasprowski.pl
Schemat tabel przygotował: pawel@kasprowski.pl
Budowa kostki Wybór widoku Wizard automatycznie analizuje tabele Wybór tabel faktów i wymiarów Określenie pól dla tablicy wymiaru czasowego (Time Dimesion) Wybór miar Order Quantity Unit Price Discount Pct Sales Amount
Mapowanie pól czasowych przygotował: pawel@kasprowski.pl
Gotowa kostka przygotował: pawel@kasprowski.pl
Elementy kostki Zbiór miar: Fact Internet Sales Wymiary czasowe OrderDate ShipDate DueDate Wymiar produktowy Dim Product
Zakładki Cube Structure Dimesions Calculations KPIs Actions Partitions Perspectives Translations Browser
Zakładka Cube Structure przygotował: pawel@kasprowski.pl
Etapy pracy Stworzenie kostki Zbudowanie kostki Umieszczenie na serwerze (deployment) Przeglądanie (browse)
Przeglądanie danych przygotował: pawel@kasprowski.pl
Przykładowe zadania Wyszukaj ile produktów zamówiono w styczniu 2004 Rozdziel powyższe wg kolorów produktów Każdy kolor rozdziel wg linii produktowych Zmień zestawienie tak, aby prezentowało linie produktowe z podziałem na kolory Porównaj te ilości w kolejnych styczniach