Jaka jest najlepsza platforma do tworzenie hurtowni danych i dlaczego jest nią …?

Jeśli zadać to pytanie specjalistom zajmującym się tymi zagadnieniami, 95 procent z nich bez wahania zamieni trzy kropki na konkretną platformę. Większość będzie miała zapewne rację, ponieważ każdy stara się dopasować do warunków, w których to konkretne rozwiązanie musi funkcjonować. I do tego właśnie sprowadza się zawsze decyzja – należy znaleźć najlepszy produkt dostosowany do środowiska, w jaki musi funkcjonować. Przez środowisko funkcjonowania należy rozumieć wszystkie aspekty, poczynając od ceny zakupu, a kończąc na  - wydawało by się – najważniejszej  rzeczy, czyli funkcjonalności (co nie zawsze jest prawdą).

W poniższym tekście postaram się ogólnie scharakteryzować cztery platformy/dostawców zajmujących się zagadnieniami hurtowni danych, zaczynając od serwerów bazodanowych jako podstawowego elementu hurtowni, poprzez narzędzia ETL’owe, a kończąc na systemach wykorzystujących zgromadzone informacje (BI). Omawianymi platformami będą:

  • Microsoft
  • Oracle
  • Teradata
  • Sybase

 

Microsoft

Firma Microsoft od wersji SQL Server 2005 (obecnie jest to wersja SQL Server 2008) zaoferował nie tylko serwer bazodanowy, ale cały pakiet aplikacji w „jednej cenie”, które swoją funkcjonalnością obejmują poszczególne procesy związane z funkcjonowaniem hurtowni danych:

  • SQL Server – serwer bazy danych
  • SQL Server Integration Services (SSIS) – narzędzie ETL
  • SQL Server Analysis Services (SSAS) – narzędzie OLAP
  • SQL Server Reporting Services (SSRS)  – narzędzie  prezentacji danych.

SQL Server jest ściśle zintegrowany z innymi systemami i aplikacjami firmy, zwłaszcza z aplikacjami systemu Microsoft Office, które w dużym stopniu zwiększają funkcjonalność analizy i prezentacji danych.  Funkcjonalność tę rozszerza także Microsoft PerformancePoint Server, który stanowi platformę Business Intelligence oferowaną przez Microsoft. Podstawowym atutem platformy opartej na SQL Server 2005/2008 jest jego niski Całkowity Koszt Posiadania (TCO). Dodatkowo polityka firmy zmierza do rozszerzania udziału w rynku DWH i BI, co przejawia się przejęciami dostawców z tej branży, tj: DATAllegro, ProCalrity, Stratature, itd. Dziś SQL Server 2008 pozycjonowany jest jako system dla rozwiązań hurtowni danych małych i średnich ( systemy do 5 TB – małe, od 5 TB do 50 TB – średnie, powyżej 50 TB – duże).

 Serwer bazy danych

  • Dwie wersje do zastosowań produkcyjnych:
    • SQL Server 2008 Standard
    • SQL Server 20008 Enterprise  (dla celów implementacji  hurtowni danych dostosowana jest wersja SQLServer 2008 Enterpise o „wyższej” funkcjonalności w porównaniu do wersji Standard).
  • Systemem operacyjnym może być tylko system z rodziny Windows Server.
  • Obsługa systemów klastrowych.
  • Obsługa replikacji on-line transakcyjnej i cyklicznej.
  • Partycjonowanie tablic i indeksów.
  • Indeksowane widoki.
  • Zarządzenie dostępem użytkowników/grup na poziomie serwera/usługi/bazy/tablicy/kolumny.
  • Kompresja danych.
  • Optymalizator zapytań w strukturze gwiazdy.
  • Obsługa CDC (Change Data Capture).
  • Sterowanie wydajnością poprzez przydzielanie zasobów, priorytetów dla aplikacji, procesu lub poszczególnego zapytaniu   (Resource Governor ).
  • Narzędzie do monitorowania on-line aktywności, począwszy od parametrów serwera, a skończywszy na poszczególnych transakcjach (SQL Serwer Profiler).

ETL

  • SQL Server Integration Services (SSIS) – wchodzi w skład pakietu SQL Server 2008
  • Środowisko deweloperskie oparte o Microsoft Visual Studio
  • W pełni graficzne narzędzie oparte na szerokiej gamie zdefiniowanych komponentów wraz ze zintegrowanym środowiskiem programistycznym.
  • Zarówno środowisko jak i komponenty podzielone są na funkcje związane z :
    • kontrolą przebiegu procesów,
    • kontrolą przepływu danych,
    • obsługą wyjątków i błędów.
  • Pełna i łatwa obsługa integracji środowiska deweloperskiego, testowego i produkcyjnego.
  • Obsługa procesów ETL, a także procesów administracji baz danych, jak i pozostałych komponentów serwera.
  • Zdefiniowane komponenty wspomagające implementacje hurtowni danych, np.:  rozmyte wyszukiwanie (Foozy lookup), powoli zmieniające się wymiary (Slow Changing Dimension), kolumny pochodne (Drived column) itp.
  • Możliwość korzystania z dowolnego środowiska źródłowego i docelowego, jedynym ograniczeniem jest posiadanie sterowników OLE DB lub ODBC. W ostateczności SQL Server może nie występować w procesie ani jako źródło, ani jako środowisko docelowe.

BI

W skład platformy BI można zaliczyć:

  • SQL Server Analysis Services  (wchodzi w skład pakietu SQL Server 2008) – serwer wielowymiarowych kostek danych (technologia OLAP),
  • SQL Server Reporting Services (wchodzi w skład pakietu SQL Server 2008) -  serwer raportowy,
    • Środowisko deweloperskie oparte o Microsoft Visual Studia oraz zaimplementowany prosty edytor raportów oparty o przeglądarkę internetową, udostępniany na podstawie uprawnień nadawanych użytkownikom,
    • Udostępnianie raportów oparte o dowolny serwis usług internetowych, np.: IIS,
    • Dowolne źródło danych: serwery relacyjne bazy danych, serwery OLAP, plikowe źródło danych, itd.
  • Office PerformancePoint Server  – rozbudowana platforma z wydzielonymi funkcjonalnościami, takimi jak :
    • Monitorowanie
      • Typowa funkcjonalność BI oparta o portal informacyjny ze zdefiniowanymi Pulpitami Menadżerskimi (Dashboards) oraz Zrównoważonymi Kartami Wyników (Scorecards).
      • Bogata gama form prezentacji danych: raporty tabelaryczne, wykresy, wskaźniki KPI, itd.
    • Analizy
      • Narzędziem deweloperskim oparte o aplikację ProClarity
      • Dowolne źródło danych: serwery relacyjne bazy danych, serwery OLAP, plikowe źródło danych.
      • Rozbudowana funkcjonalność analityczna, np.:
        • Analizy wielowymiarowe
        • Drążenie w głąb
        • Analizy predykcyjne (prognozowanie, funkcje trendu)
      • Udostępnianie danych realizowane poprzez:
        • aplikacje ProClarity
        • przeglądarkę internetową
        • dokumenty PDF
        • pliki XML
    • Planowanie
      • Funkcjonalność planowania i budżetowania
      • Planowanie i budżetowanie hierarchiczne
      • Wersjonowanie planów i budżetów
      • Interface użytkownika oparty o aplikację Microsoft Excel

 

Oracle

Oracle jest liderem wśród dostawców systemów bazodanowych. Według analiz w 2007 roku posiadała około 48% światowego rynku rozwiązań RDBMS (źródło „Market Share: Relational Database Management System Software by Operating System, Worldwide, 2007″). Polityka firmy nastawiona jest na utrzymanie wiodącej roli dostawcy rozwiązań pod hurtownie danych, czego przykładem może być oferowanie zarówno samego systemu bazodanowego (Oracel Database 11g), jak i kompleksowego rozwiązania sprzętowo-bazodanowego (HP Oracle Database Machine). Aplikacje „towarzyszące” takie jak Oracle Real Apllication Cluster oraz Automatic Storage Management wspomagają zastosowanie bazy Oracle dla dużych rozwiązań hurtowni danych. Konsekwencja takich warunków to dość wysoki koszt zakupu, jak i koszt użytkowania (dotyczy to zarówno samego systemu jak, i kosztów osobowych). Dodatkowo duża liczba funkcjonalności nie jest wliczana w cenę podstawową (co nie zawsze jest w jasny sposób wyspecyfikowane).

Serwer bazy danych

  • Trzy wersje do zastosowań produkcyjnych Oracle Database 11g:
    • Standard Edition One
    • Standard Edition
    • Enterprise Edition (do celów implementacji hurtowni danych zlecana jest wersja Enterprise Edition zawierająca funkcjonalność niedostępną w niższych wydaniach.)
  • System operacyjny :
    • Windows Server
    • Linux
    • Unix
  • Obsługa systemów klastrowych.
  • Obsługa replikacji on-line (Oracle Streams).
  • Partycjonowanie tablic i indeksów – Partition Advisor.
  • Zmaterializowane widoki.
  • Zawansowana kompresja danych.
  • Obsługa cache’owania danych.
  • Optymalizacja zapytań w strukturze gwiazdy.
  • Automatyczne sterowanie wydajnością (pamięć operacyjną, dyskową, itp.).
  • Rozbudowana funkcjonalność zarządzania dostępem do danych.
  • Wbudowane funkcje analityczne – OLAP.
  • Obsługa funkcji data mining’owych  – Oracle Data Mining.
  • Narzędzie do obsługi administracji danymi historycznymi – Oracle Total Recall.
  • Dołączone narzędzia:
    • Administracyjne –  Oracle SQL Developer
    • Deweloperskie – Oracle Warehouse Builder  oraz Oracle Application Express
  • Narzędzie do testów wydajnościowych dla wprowadzanych nowych aplikacji/funkcjonalności w oparciu o rzeczywiste obciążenie – Oracle Real Appliaction Testing.

 ETL

Oracle oferuje obecnie dwie aplikacje do obsługi ETL:

  • Oracle Warehouse Buider (OWB) – darmowe graficzne narzędzie ze zdefiniowanymi komponentami (Efektem działania OWB jest wygenerowany kod SQL, który obsługiwany jest przez mechanizmy motora bazy danych.); posiadające funkcje:
    • Budowy struktury bazy danych
    • Budowy procesów przepływu danych
    • Budowy procesów sterowania procesami ET
  • Oracle Data Integrator (ODI) – promowane obecnie narzędzie do budowy i obsługi procesów ETL
    • Funkcjonalność budowania i obsługi procesów przepływu danych, sterowania procesami przepływu danych, procesów administracyjnych bazą danych.
    • Narzędzie graficzne oparte nie na szerokiej gamie zdefiniowanych komponentów, lecz na szablonach procesów zwanych Modułami Wiedzy (Knowledge Modules – KM).  Każdy KM jest zbiorem od 1 do n procesów stanowiących kolejno wykonywane skrypty SQL. Skrypty SQL zapisywane są w KM jako parametryzowalne szablony.
    • Zmiana podejścia z ETL na E-LT (Extract Load Transform ) – sterowanie wydajnością przetwarzania poprzez rozmieszczeniem procesów na kilka środowisk : źródłowe, docelowe, przejściowe.
    • Wspomaganie implementacji środowiska deweloperskiego, testowego i produkcyjnego poprzez obsługę repozytoriów metadanych.
    • Możliwość korzystania z dowolnego środowiska źródłowego i docelowego w oparciu o sterowniki ODBC lub OLE DB.
    • Serwis sterownia i harmonogramowania procesów ETL – ODI Agent
    • Obsługa CDC.

 BI

Firma Oracle w ciągu ostatnich trzech lat wprowadziła do swojej oferty bardzo rozbudowaną platformę Business Inteligent o nazwie Oracle BI Enterprise Edition (OBI EE). Platforma ta oparta jest na rozwijanej przez lata aplikacji firmy Siebel  – Siebel Analytics. OBI EE składa się z kilku komponentów/aplikacji, z których tworzona jest platforma BI w zależności od potrzebnej funkcjonalności:

  • Oracle BI Server – podstawowy i wymagany komponent stanowiący serwer i narzędzia do tworzenia i administracji udostępnianych danych:
    • Struktura danych trzy warstwowa
      • Warstwa fizyczna – specyfikacja źródeł danych
      • Warstwa logiczna – specyfikacja, agregacja, przekształcanie, utworzenie relacji danych z warstwy fizycznej
      • Warstwa biznesowa – formatowanie i udostępnianie danych
    • Udostępnianie danych w formie logicznych wielowymiarowych kostek danych.
    • Rozbudowane i zawansowane funkcje selekcji i przetwarzania danych.
    • Odpowiada za sterownie wydajnością udostępniania danych (cache’owanie danych, priorytety kolejki zapytań, itp).
  • Oracle BI Answers – narzędzie do tworzenia raportów, wykresów, wskaźników KPI na podstawie warstwy biznesowej udostępnionej przez BI Server, a wykorzystywanych we wszystkich  pozostałych komponentach platformy. Stanowi także aplikację do tworzenia raportów na żądanie. Interface oparty o przeglądarkę www.
  • Oracle BI Dashboard – spersonalizowany portal informacyjny zawierający zbiór raportów pogrupowanych ze względu na zakres informacyjny z ograniczoną możliwością tworzenia nowych i zmiany struktury już istniejących zestawień. Interface oparty o przeglądarkę www. 
  • Oracle BI Disconnected  Analytics – narzędzie umożliwiające pobranie z Oracle BI Server’a na komputer kliencki zastawu aktualnych raportów wraz z zakresem danych i przeglądanie ich w trybie off-line.
  • Oracle BI Publisher – komponent posiadający dwie funkcjonalności:
    • Definiowanie raportów w formie formularzy z wykorzystanie Microsoft Word lub Adobe Acrobat,  na podstawie udostępnionych danych przez Oracle BI Server – np. PIT.
    • Definiowanie i administrowanie wykonywaniem i dostarczaniem raportów, zestawień, wypełnionych formularzu poprzez pocztę elektroniczną, faks, drukarkę, portal informacyjny. Dodatkowo aplikacja służy do tworzenia cache’ów danych dla raportów, których wykonanie harmonogramowane jest na okresy z mniejszym obciążeniem serwera.

Teradata

Teradata, ze swoim prawi 30-letnim doświadczeniem w zakresie budowy rozwiązań pod hurtownie danych, stała się liderem na rynku dostawców RMDBS. Architektura serwera oparta na równoległości bazy danych i wielowymiarowej skalowalności powoduje, że rozwiązanie to wykorzystywane jest zwłaszcza w obszarach analitycznych wraz z  korporacyjnymi hurtowniami danych od systemów kilkuset-gigabajtowych do ponad 100-terabajtowych. Firma skoncentrowała się na zadaniach przetwarzania danych w systemach analitycznych, nie na  przetwarzaniu transakcyjnym.   

Serwer bazy danych

  • Teradata Database 12.0 – serwer bazodanowy z przeznaczeniem na różne platformy sprzętowe:
    • serwery klasy SMP zgodne z wymaganiami Teradata
    • serwery Teradata SMP
    • klastry Teradata MPP
  • System operacyjny:
    • Windows
    • Server Linux
    • Unix
  • Obsługa replikacji on-line.
  • Pełna równoległość przetwarzania operacji.
  • Zarządzanie wydajnością poprzez przydzielanie zasobów, priorytetów dla aplikacji, operacji, użytkowników – Teradata Active System Management.
  • Kreator statystyk i indeksów – rekomendacja zbierania statystyk i najbardziej optymalnych indeksów.
  • Grupowanie wirtualnych jednostek przetwarzania równoległego oraz wprowadzenie Global Index Optimalisation.
  • Obsługa  Sparse index i Partial Covering Index.
  • Udoskonalenia indeksów dla join’ów i agregatów.
  • Wizualne objaśnianie/porównanie planu zapytań – uproszczenie analizy planów zapytań.
  • Log zapytań – udostępnia szczegółową historię zapytań.
  • Asystent Teradata SQL.
  • Globalna optymalizacja zapytań – usprawniona optymalizacja planów wykonania zapytań generowanych często przez aplikacje BI.
  • Funkcja próbkowania losowego.
  • Wielokrotne zliczanie unikalnych wartości w jednym przebiegu zapytania.
  • Próbkowanie warstwowe.
  • Zwiększony limit rozmiaru zapytania.

 ETL

 Teradata posiada kilka aplikacji odpowiadających za procesy ładowania i ekstrakcji danych:

  • Teradata FastLoad
  • Teradata MultiLoad
  • Teradata FastExport
  • Teradata Parallel Transporter
  • Teradata TPump

Narzędziem deweloperskim ETL dostarczanym przez Teradata jest aplikacja o nazwie SLJM (informacja niepotwierdzona – brak jakichkolwiek wiadomości na ten temat na oficjalnej stronie Teradaty). SLJM posiadaja dwie funkcjonalności : tworzenie procesów przepływu danych oraz harmonogramowanie ww. procesów. Tworzenie odbywa się poprzez kodowanie w SQL.

SYBASE

Sybase od wielu lat jest dostawcą systemów bazodanowych oraz aplikacji deweloperskich dla programistów. W ostatnim okresie firma stara się odejść wizerunku dostawcy wyłącznie małych systemów RDBMS. Wprowadza i promuje zatem Sybase IQ Server, z odmiennym od innych dostawców podejściem do zapisu informacji – kolumnowe składowanie danych.  Architektura taka w ocenie firmy Sybase wpływa na wyjątkowy wzrost wydajności przetwarzania nawet najbardziej złożonych zapytań (w oficjalnych dokumentach używane jest tu określenie – „dramatyczny wzrost wydajności zapytań”).

Server bazy danych

  • Sybase IQ 15 – serwer bazy danych oparty na rozszerzonej wersji Adaptive Server Anywhere.
  • Aplikacja przeznaczona do zastosowań systemów analitycznych – architektura serwera bazy optymalizowana ze względy na odczyt danych, nie na zapis.
    • System operacyjny
      • Windows Server
      • Linux
      • Unix
  • Obsługa replikacji on-line oraz off-line.
  • Zawansowana kompresja danych.
  • Architektura kolumnowego składowania danych.
  • Cache’owanie danych – usprawnione przetwarzanie zapytań z wykorzystaniem skompresowanych danych umieszczonych w pamięci cache.
  • Szyfrowanie baz danych.
  • Kreator indeksów (Index Advisor) – wybór najbardziej optymalnego indeksu.
  • Obsługa indeksów wielokolumnowych.
  • Konsola administracyjna oparta na graficznym interfejsie użytkownika.
  • Wysoka skalowalność – rozbudowa o nowy węzeł, pamięć, procesor czy przestrzeń dyskową bez potrzeby zatrzymywania systemu.
  • Wysoka dostępności równoległa dużej ilości użytkowników wynikająca z architektury optymalizowanej na odczyt.

ETL

  • Sybase ETL 4.8 – zawierające dwie aplikacje
    • Sybase ETL Development – narzędzie developerskie do tworzenia procesów ETL
    • Sybase ETL Server – serwis odpowiadający za uruchamianie i przetwarzania zdefiniowanych procesów ETL
  • W pełni graficzny interface ze zdefiniowanymi komponentami, rozszerzonymi o środowisko programistyczne.
  • Łatwa implementacja środowiska deweloperskiego, testowego i produkcyjnego oparte o repozytoria metadanych.
  • Zdefiniowane funkcjonalności wspomagające budowę hurtowni danych, tj. rozmyte wyszukiwanie (Foozy Search), powoli zmieniające się wymiary (Slow Changing Dimension).
  • Możliwość korzystania z dowolnego środowiska źródłowego, jedynym ograniczeniem jest posiadanie sterowników OLE DB lub ODBC.


Wnioski

Brak. Każdy musi się sam zmierzyć z atutami i słabościami poszczególnych rozwiązań. Nie jest wykluczone, że ostatecznym wnioskiem będzię użycie Oracle Data Integrator’a (ETL – Oracele) z Teradata Database 12.0 (baza danych – Teradata) oraz Office PerformancePoint Server’em (BI – Microsoft).

Ten wpis został opublikowany w kategorii Narzędzia. Dodaj zakładkę do bezpośredniego odnośnika.
VN:F [1.9.20_1166]
Ocena:
+5

One comment on “Jaka jest najlepsza platforma do tworzenie hurtowni danych i dlaczego jest nią …?

  1. maciek on said:

    czy mógłbym prosić o przesłanie konkretnych źródeł pochodzenia tych informacji odnośnie platform?
    będę bardzo wdzięczny. pozdrawiam. mz

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

HTML tags are not allowed.


Refresh