Schemat gwiazdy | Schemat płatka śniegu | Schemat konstelacji |
Architektura Hurtowni Danych
Główną różnicą pomiędzy budową bazy danych w standardowym systemie OLTP zorientowanym na przetwarzanie (systemy ERP, CRM, MIS) a hurtownią danych jest to, że relacyjny model systemu źródłowego w hurtowni danych jest zdenormalizowany do tabel faktów (fact table) i wymiarów (dimension table) , które są typowe dla architektury hurtowni.
Różnice te wynikają przede wszystkim z różnicy w celu ich istnienia i ich przeznaczeniu.
W typowym systemie OLTP wydajność bazy danych jest kluczowa, ponieważ interfejs użytkownika musi szybko odpowiadać i reagować na to, co się dzieje w systemie. Jakość i użyteczność takiego systemu jest w znacznym stopniu uzależniona od tego, jak szybko dane mogą być zapisane do bazy danych.
Aby to osiągnąć baza danych systemu OLTP jest z reguły zoptymalizowana pod kątem szybkości operacji INSERT, UPDATE, DELETE i nastawiona na przechowywanie jak najmniejszej ilości rekordów.
W przeciwieństwie do systemów OLTP, Hurtownia Danych to system który powinien być w stanie odpowiedzieć natychmiastowo na praktycznie każde pytanie związane z działalnością przedsiębiorstwa.
W większości przypadków informacja dostarczana z hurtowni danych jest używana przez managerów, którzy podejmują decyzje biznesowe. Przez to informacja powinna być dostępna szybko i w prosty sposób, ale nie koniecznie musi ona być jak najświeższa i bardzo detaliczna (czyli manager w hurtowni danych raczej będzie szukał odpowiedzi na pytanie o sumę sprzedaży w podziale na regiony na dzień wczorajszy, niż będzie szukał listy dzisiejszych faktur z ostatniej godziny). Hurtownie danych są najczęściej odświeżane codziennie nocą lub w trybie miesięcznym, wtedy gdy systemy źródłowe i sama hurtownia są najmniej obciążone i może zostać szybko i sprawnie zaktualizowana.
Główną cechą hurtowni danych jest przechowywanie danych historycznych, zagregowanych, z dostępem do odczytu przez użytkowników. Z punktu widzenia analizy zapytań SQL, znaczna większość zapytań do hurtowni danych zaczyna się od instrukcji SELECT.
W modelach hurtowni danych mogą występować następujące architektury: