Wstęp do Business Intelligence
Co to jest Buisness Intelligence Business Intelligence (analityka biznesowa) - proces przekształcania danych w informacje, a informacji w wiedzę, która może być wykorzystana do zwiększenia konkurencyjności przedsiębiorstwa.
Po co stosuje się BI w przedsiębiorstwach? Wyliczanie wskaźników efektywności działania przedsiębiorstwa Podejmowanie lepszych decyzji biznesowych Wzrost konkurencyjności, Wzrost zysków
Operacje SQL wspierające analizy
Model wielowymiarowy Typ Miasto Kw. Dochód M Glasgow Q1 15056 P Glasgow Q1 14670 Miasto Londyn M Glasgow Q2 14555 Glasgow P Glasgow Q2 15888 M 15056 14555 14578 15890 M Glasgow Q3 14578 Typ P Glasgow Q3 16004 P 14670 15888 16004 15500 M Glasgow Q4 15890 P Glasgow Q4 15500 kw.1 kw. 2 kw. 3 kw. 4 Czas
Standardowa składnia SELECT SELECT DISTINCT <TOP_specification> <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> WITH {CUBE ROLLUP} HAVING <having_condition> ORDER BY <order_by_list>
Operacja CUBE SELECT... GROUP BY <lista_kolumn> WITH CUBE Dla trzech kolumn Rok, Producent, Województwo mamy kombinacje: (R, P, W), (R, P, All), (R, All, W), (All, P, W),(R, All, All), (All, P, All), (All, All, W), (All, All, All) Przykład zapytania: select D.Rok,T.Producent,K.Wojewodztwo, sum(s.wartosc) as Wartosc from Sprzedaz S, Towary T, Klienci K, Dni D where S.IdTow=T.IdTow AND S.IdKli=K.IdKli AND S.Data=D.Data group by D.Rok,T.Producent,K.Wojewodztwo with cube
Operacja CUBE Rok Producent Wojewodztwo Wartosc ------ ---------- ----------------- ------- 1998 Fiat pomorskie 22000.0 1998 Fiat wielkopolskie 50000.0 1998 Fiat NULL 72000.0 1998 Ford pomorskie 58000.0 1998 Ford wielkopolskie 35000.0 1998 Ford NULL 93000.0 1998 NULL NULL 165000.0 1999 Fiat pomorskie 32000.0 1999 Fiat NULL 32000.0 1999 Ford pomorskie 96000.0 1999 Ford wielkopolskie 60000.0 1999 Ford NULL 156000.0 1999 NULL NULL 188000.0 NULL NULL NULL 353000.0 NULL Fiat pomorskie 54000.0 NULL Fiat wielkopolskie 50000.0... (27 wierszy) Fiat 1998 1999 Produc. Rok Ford 22 32 22 Pomorze 58 50 0 50 Wielkopolska 35 35 50 Woj. 60 0 CUBE stosowany jest dla niezależnych wymiarów
Operacja ROLLUP SELECT... GROUP BY <lista_kolumn> WITH ROLLUP Dla trzech kolumn Rok, Kwartał, Miesiąc mamy kombinacje: (R, K, M), (R, K, All), (R, All, All), (All, All, All). Przykład zapytania: select D.Rok,D.Kwartal,D.NrMca, sum(s.wartosc) as Wartosc from Sprzedaz S, Dni D where S.Data=D.Data group by D.Rok,D.Kwartal,D.NrMca with rollup Rys. Tabela faktów oraz tabele wymiarów przykładowej hurtowni danych. Źródło: [3] W przeciwieństwie do CUBE, stosowany w obrębie jednej hierarchii (tutaj jest nią Czas)
Operacja ROLLUP Tworzone są kolejne poziomy agregacji (od szczegółu do ogółu): Rok Kwartal NrMca Wartosc ------ ------- ------ ------- 1998 KW1 1 52000.0 1998 KW1 2 20000.0 1998 KW1 NULL 72000.0 1998 KW2 4 93000.0 1998 KW2 NULL 93000.0 1998 NULL NULL 165000.0 1999 KW1 2 36000.0 1999 KW1 NULL 36000.0 1999 KW2 4 92000.0 1999 KW2 5 60000.0 1999 KW2 NULL 152000.0 1999 NULL NULL 188000.0 NULL NULL NULL 353000.0 1998 (165.000) 1999 (188.000) Kw. 1 (72.000) Kw. 2 (93.000) Kw. 1 (36.000) Kw. 2 (152.000) M-c 1 (52.000) M-c 2 (20.000) M-c 4 (93.000) M-c 2 (36.000) M-c 4 (92.000) M-c 5 (60.000)
Instrukcja PIVOT SELECT IdKli, [11] as Tow11, [12] as Tow12, [21] as Tow21, [22] as Tow22 FROM (SELECT IdKli, IdTow, Wartosc FROM Sprzedaz ) p PIVOT ( sum(wartosc) FOR IdTow IN ([11], [12], [21], [22])) as pvt ORDER BY IdKli
Hurtownie danych
B. Inmon, 1996: Hurtownia danych (Data Warehouse) Hurtownia danych to zbiór zintegrowanych, nieulotnych, ukierunkowanych baz danych, wykorzystywanych w systemach wspomagania decyzji. Podstawowe cele: - scalanie danych z różnych źródeł przetwarzanie analityczne danych (OLAP) wspomaganie decyzji (DSS) archiwizacja, przechowywanie danych historycznych
Cechy hurtowni danych Jest scentralizowaną bazą Jest oddzielona od baz operacyjnych Scala informacje z wielu źródeł Jest zorientowana tematycznie Przechowuje dane historyczne Utrzymuje wielką ilość danych Agreguje informacje
OLAP a OLTP OLTP on-line transaction processing przetwarzanie transakcyjne bieżąca działalność przedsiębiorstwa duża liczba prostych zapytań (fakty) dodawanie, usuwanie i modyfikacja danych natychmiastowy dostęp do aktualnych informacji OLAP on-line analytical processing przetwarzanie analityczne analizy, raporty niewielka liczba skomplikowanych zapytan (podsumowania) odczytywanie informacji i ich cykliczne uzupełnianie dane moga byc dostepne z opóznieniem
Struktura DW Information Sources Data Warehouse Server (Tier 1) OLAP Servers (Tier 2) Clients (Tier 3) Semistructured Sources Data Warehouse e.g., MOLAP serve Analysis extract transform load refresh etc. serve e.g., ROLAP Query/Reporting Operational DB s serve Data Mining Data Marts
RODZAJE IMPLEMENTACJI Architektura scentralizowana: fizyczna hurtownia centralna (i ew. ODS). Architektura federacyjna: hurtownia centralna jest wirtualna (perspektywy nie zawsze zmaterializowane), pobiera dane z ODS. Architektura warstwowa: fizyczna hurtownia centralna, kolejne warstwy fizycznych hurtowni tematycznych.
Perspektywa techniczna Typowa ilość danych > 1 TB Typowe obciążenie zapytaniami: rzędu 10 tyś zapytań na dobę; 100 użytkowników analitycznych Typowy czas projektów: od 1 do 3 lat Typowy budżet: 1 mln dolarów: z tego 60% sprzęt, 15 % oprogramowanie bazodanowe
Dane wielowymiarowe Miary - dane numeryczne, które są analizowane; Wymiary parametry po których analizy są prowadzone; Przykładowo: Chcemy analizować sprzedaż (miara) według miejsca sprzedaży, produktu oraz czasu (wymiary) Wymiary są zorganizowane w hierarchie: Wymiar Czas: Dzień - > Tydzień -> Miesiąc -> Kwartał -> Rok Wymiar Produkt: Produkt ->Rodzaj->Producent Atrybut cecha wymiaru, przechowuje nowe informacje na temat wymiaru. Np.: wymiar klient może mieć atrybut nazwisko, wiek, itd..
Przykład wymiarów Store Dimension Product Dimension Total Total Region Manufacturer District Brand Stores Products
Rodzaje schematów hurtowni danych Schemat gwiazdy Schemat konstelacji faktów Schemat płatka śniegu
Schemat gwiazdy Cechy charakterystyczne: W tabeli faktów znajdują się dane rozdrobnione oraz mogą się znajdować dane zagregowane Dane w tabeli faktów powinny być jak najbardziej rozdrobnione Każdy klucz obcy w tabeli faktów posiada odwołanie do wymiaru Każdy wymiar jest zdenormalizowany
Schemat gwiazdy
Schemat gwiazdy wady i zalety Zalety: Łatwy do zrozumienia Łatwo definiowalna hierarchia Redukcja złączeń Wady: Duży rozmiar tabel wymiarów
Schemat płatka śniegu
Schemat konstelacji faktów Cechy charakterystyczne: Wymiary są współdzielone przez wiele tabel faktów
Architektura serwerów
Przetwarzanie analityczne OLAP Efektywne analizowanie wielkiej ilości danych w środowisku wielodostępnym Prezentacja danych niezależna od sposobu ich przechowywania Szybkie realizowanie zapytań i obliczeń, umożliwiające interaktywną analizę Wykonywanie różnorodnych obliczeń Łatwe tworzenie różnych form prezentacji wyników analizy, raportów, wykresów itp.
Narzędzia analityczne - podział Dzielą się ze względu na stopień skomplikowania: Proste raporty powielane przez wielu użytkowników bizesowych; Narzędzia klasy OLAP służące tworzeniu różnych dowolnych raportów (ad-hoc) poprzez analizę wielowymiarowych kostek danych; Zaawansowane narzędzia eksploracji danych (ang. Data Mining) służące do znajdowania związków pomiędzy danymi.
Zastosowanie hurtowni danych Bankowość: Ocena sytuacji finansowej oddziałów i planowania rozwoju, Badania zyskowności produktów i usług oraz kształtowania ich portfela, Analiza kredytowa i szacowaniu ryzyka, Analiza płatności, należności i zaległości. Segmentacja klientów jakie promocje dawać dla kluczowych klientów. Zahamowanie odpływu klientów, Zwiększenie napływu nowych klientów,
Zastosowanie hurtowni danych Sektor ubezpieczeń: zwiększenie zysku z istniejących polis poprzez ograniczenie ryzyka, ograniczenie fałszerstw, ustanowienie stawek zapewniających odpowiedni zysk, ograniczenie kosztów marketingowych i sprzedaży związanej z produktami (agenci, niezależni akwizytorzy),
Zastosowanie hurtowni danych W telekomunikacji: zahamowanie odpływu klientów, zwiększenie napływu nowych klientów, zmniejszenie złych długów, ograniczenie oszustw
Dziękuję