Bazodanowe rozwiązania OLAP

Subskrybuj RSS A A A
14 kwietnia 2003
Tomasz Kopacz

Praktycznie wszyscy producenci relacyjnych baz danych oferują narzędzia analityczne OLAP. W środowisku open source ciągle nie ma stabilnego rozwiązania OLAP.

Praktycznie wszyscy producenci relacyjnych baz danych oferują narzędzia analityczne OLAP. W środowisku open source ciągle nie ma stabilnego rozwiązania OLAP.

Systemy Business Intelligence, będące coraz powszechniejszym elementem systemów informatycznych przedsiębiorstw, są oparte na analitycznych systemach OLAP. Zwykłe bazy transakcyjne nie dają możliwości wyliczania skomplikowaagregatów, są bowiem projektowane w taki sposób, że większość wynikowych informacji nie jest przechowywana. Jeżeli jakaś wartość zostanie wyznaczona na podstawie zawartości kolumn w bazie, to nie musi być ona trwale przechowywana w bazie. W przypadku baz OLAP postępowanie jest odwrotne - projektant określa strukturę kostki OLAP, tzn. wskazuje, jakie informacje mają być gromadzone i agregowane, a następnie motor OLAP wylicza żądane statystyki, które są przechowywane obok informacji bazowych.

Klasycznym przykładem zastosowania kostki OLAP jest analiza wartości sprzedaży. W tym przypadku wymiarami kostki może być typ towaru, region sprzedaży, data sprzedaży czy też nazwa kanału dystrybucyjnego, w którym dany towar był dostępny. By zasilić taką kostkę z systemu OLTP (przetwarzania transakcyjnego), pobiera się informacje dotyczące bieżących obrotów i zapisuje w strukturze OLAP. Nie jest to tylko proste kopiowanie wartości - kostki można zasilać wyliczonymi danymi. Przykładowo, można określić różne poziomy szczegółowości danych (np. grupa towaru, kraina geograficzna czy przedział czasowy: rok, miesiąc, tydzień). Podczas wypełniania kostki motor wylicza np. sumaryczną wartość sprzedaży na całym świecie w określonym roku, a następnie w rozbiciu na poszczególne kontynenty i miesiące. Chociaż zasilanie kostki jest procesem czasochłonnym, to musi być ona aktualizowana w określonym cyklu (np. raz dziennie).

System analityczny może potem szybko czerpać informacje z tak skonstruowanej struktury kostek, tj. wykonywać określone przekroje, np. wybrać dane o wartości sprzedaży w Europie w maju 2002 r., a następnie je uszczegółowić i podać wartość sprzedaży w pierwszym tygodniu maja. Teoretycznie tego typu operacje można wykonać za pomocą bazy OLTP, jednak taka kwerenda mogłaby łatwo spowodować przeciążenie systemu transakcyjnego (zwłaszcza w przypadku jej równoległego wykonywania dla wielu użytkowników). Zastosowanie gotowych agregatów powoduje, że uszczegółowienie wyszukiwania sprowadza się w zasadzie tylko do odczytania zawartości podkostki.

W konkretnej implementacji można tworzyć kostki OLAP, które nie będą przechowywały informacji bazowych, tylko np. ograniczone do określonego poziomu szczegółowości. W przypadku, gdy użytkownik zażąda informacji, które nie są zgromadzone w kostce, motor OLAP pobierze dane źródłowe np. z bazy relacyjnej. Nawet w takim przypadku obciążenie bazy relacyjnej jest małe, bo wybierany jest tylko określony fragment bazy OLTP.

Jakość danych

Tak jak w przypadku hurtowni danych, przy konstrukcji kostek bardzo ważne jest zapewnienie jakości wprowadzanych informacji - sprawdzenie, czy np. nie są błędnie wpisywane nazwy miejscowości, czy adres jest zapisywany w spójnej postaci itp. Bardzo dobrym rozwiązaniem przeznaczonym do kontroli wprowadzanych danych jest mechanizm DTS zawarty Microsoft SQL Server. Pozwala on elastycznie tworzyć mechanizmy przepływu informacji z bazowego systemu OLTP poprzez komponenty (np. kontrolujące poprawność zapisu informacji metodą słownikową) aż do tabel tymczasowych, wykorzystywanych do zasilania kostek OLAP. Działanie DTS nie jest ograniczone tylko do bazy Microsoftu - może czerpać informacje z dowolnego systemu, pod warunkiem że jest w nim dostępny sterownik ODBC/OLEDB.

Niezgodność zapytań

Nie rozwiązanym problemem pozostaje sposób dostępu do danych OLAP-owych. O ile w przypadku danych relacyjnych praktycznie obowiązuje SQL, o tyle w zakresie OLAP niemal każdy producent stosuje odmienne dialekty API, własne metody przechowywania i obróbki metadanych. Microsoft opracował OLEDB for OLAP oraz język MDX. Obecnie duża część niezależnych producentów rozwiązań OLAP dostarcza sterowniki zgodne z tym standardem. Równolegle Hyperion we współpracy z Microsoftem i SAS Institute opracowali XML For Analysis, w którym kwerendy mają składnie podobną do stosowanej w XPatch czy XQuery. W świecie Javy powstał standard JOLAP, pozwalający (przynajmniej w założeniach) na ujednolicony dostęp do danych OLAP z poziomu dowolnego serwera aplikacyjnego zgodnego z J2EE.

Otwartą pozostała kwestia połączenia składni SQL oraz składni zapytań skierowanych do kostki OLAP. W wielu sytuacjach wygodnym rozwiązaniem jest bowiem umieszczenie obok prostego polecenia "Select" określonego agregatu pochodzącego z bazy OLAP. Wyrafinowane rozwiązanie opracował Oracle - jeżeli we frazie where wystąpi słowo OLAP_TABLE, wtedy dany fragment zapytania zostanie przesłany do motoru przetwarzającego dane OLAP. Równocześnie można pobrać relacyjny widok struktury OLAP w taki sposób, aby był on widziany jak normalna tabela SQL. Daje to duże możliwości operowania danymi w bazie.

W Microsoft SQL Server, od wersji 7.0, możliwe jest łączenie wyrażeń OLAP i MDX. Zastosowano w nim mechanizm otwierania dowolnego zbioru rekordów, który może być dostarczony za pośrednictwem sterownika OLEDB, który może łączyć się z serwerem OLAP.

Oceń artykuł

średnio: 3 liczba ocen: 1
1  2  dalej »

Komentarze (1)

Karol Prażuch

23-05-2005 15:17

Już w 2001 SAP AG udostępnił kod źródłowy SAP DB (przerobionego: ADABAS D) teraz pod swoją opiekę wzięła to Firma MySQL AB i baza open source pt. MaxDB jest właśnie bazą dla systemów OLAP Już w 2002r. SAP AG wdrożył kilkaset systemów opartych na SAPDB Głównie R/3 i MySAP

Najnowsze

Państwo do konsolidacji

Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

Zarządzanie po japońsku

W praktyce przemysłowej wypracowano szereg skutecznych metod zarządzania. Wiele powstało w Japonii. Dlaczego, mimo ich efektywności, nie zawsze są stosowane w biznesie?

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Jak zaplanować karierę w branży IT

Doświadczenia łączone na różnych stanowiskach w firmach o odmiennych profilach są szczególnie cenione przez pracodawców. Dlatego warto głęboko przeanalizować możliwości rozwoju kariery, które obecnie stwarza rynek IT.

Rekomendacje



Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88