Zalety implementacji in-memory w hurtowniach danych
Niniejszy materiał w popularnonaukowy sposób wskazuje najistotniejsze zalety implementacji in-memory w hurtowniach danych. Nie jest publikacją stricte techniczną.
Już dawno dotarliśmy do punktu, w którym ilość posiadanej informacji przewyższa możliwości ludzkiej percepcji, a ich niska jakość często czyni je bezużytecznymi. Z drugiej strony jesteśmy świadkami rozwoju nowych technologii, które pozwalają nam przełamywać bariery i uzyskiwać przewagę rynkową właśnie dzięki odpowiedniemu wykorzystaniu danych, uzyskiwaniu z nich właściwych informacji, które pozwalają podejmować trafne decyzje. Przy założeniu, że uporaliśmy się z jakością danych, kluczowy staje się jednak czas.
Hurtownie danych – od nich wszystko przed laty się zaczęło. Jako element systemów Business Intelligence, stały się odpowiedzią na potrzebę magazynowania w jednym miejscu różnych (to jest różnego typu oraz pochodzących z odmiennych źródeł) danych. Hurtownia umożliwiała ich integrację, tak aby możliwe było spójne przetwarzanie oraz dostarczanie informacji. Koncepcja funkcjonuje z powodzeniem do dnia dzisiejszego, zwiększyły się jednak znacząco możliwości w zakresie szybkości przetwarzania, przechowywania i udostępniania danych.
Posiadając już dane zmagazynowane w jednym miejscu, zaczęto zastanawiać się, jak najsprawniej odczytywać je z dysków, na których były przechowywane. Kluczowym elementem był czas odczytu dużych ilości danych wykorzystywanych w analizach. Optymalizowano wiec organizację danych oraz metody dostępu do nich. Jednym z przykładów była organizacja danych w tzw. „column storage”, gdzie zamiast sekwencyjnego ułożenia kolejnych rekordów, dane są uporządkowane według wartości poszczególnych pól. Jednak najskuteczniejszą i najpopularniejszą metodą szybkiego dostępu do analitycznych danych okazały się wielowymiarowe bazy danych (OLAP – ang. On Line Analytical Processing).
Równolegle stale zwiększano szybkość dostępu do danych na poziomie sprzętowym. Dane były także skuteczniej rozmieszczane na dyskach, indeksowane, dzielono je na sekcje, czyli klastrowano czy przygotowywano coraz sprawniej funkcjonujące macierze. W celu zwiększenia wydajności wykorzystywano także między innymi pamięć podręczną pośredniczącą w wymianie danych z dyskami (tzw. cache).
Dane można jednak przechowywać w miejscach, które same z siebie będą wpływały na zwiększenie szybkości pracy z nimi. Takim alternatywnym wobec dysku miejscem magazynowania danych jest pamięć operacyjna.
Przechowywanie oraz praca z danymi, zlokalizowanych w pamięci to kolejny etap rozwoju hurtowni danych. Jest to kierunek, w którym firmy będą z pewnością zmierzały i który stanie się powszechny może nie w perspektywie pięciu, ale na pewno parunastu lat. Traktujmy zatem in-memory jako kolejną technologię usprawniającą wydajność hurtowni danych.
Przechowywanie danych w pamięci zaczęło stawać się coraz popularniejsze, równolegle ze spadkiem cen pamięci. W dużym skrócie można powiedzieć, że koncepcja in-memory zakłada, że w przyszłości hurtownia danych przestanie być miejscem, gdzie są magazynowane dane, a będzie po prostu zapytaniem (na które użytkownik będzie uzyskiwał natychmiastową odpowiedź). Inaczej niż w przypadku tradycyjnej hurtowni danych (zlokalizowanej na dyskach), gdzie konieczne jest wcześniejsze pobranie, przetworzenie i zmagazynowanie danych w hurtowni.
Konkretyzując, in-memory pozwala niezwykle szybko analizować dane dostępne w czasie rzeczywistym, a także tworzyć precyzyjne wizualizacje. W dzisiejszym, niezwykle zmiennym środowisku biznesowym to niewątpliwa zaleta, pozwalająca podejmować trafniejsze decyzje biznesowe szybciej.
Wyróżniamy dwa rodzaje baz danych in-memory, z których pierwszy stanowi etap pośredni rozwoju tej technologii:
– database in-memory – pierwszy etap upowszechniania technologii in-memory. Baza danych,
o architekturze dokładnie jak na dysku, przechowywana jest w pamięci operacyjnej. Szybszy jest zatem dostęp do danych oraz praca z nimi.
– in-memory database – baza danych zoptymalizowana pod kątem wykorzystania w pamięci. Jest dużo szybsza oraz sprawniejsza, zarówno pod kątem dostępu do danych, jak i ich przetwarzania. Finalne wykorzystanie in-memory. Technicznie rzecz ujmując, w przypadku in-memory database, inny jest dostęp do rekordów. Informacja nie jest czytana sekwencyjnie (jak w przypadku hurtowni zlokalizowanej na dysku), a matrycowo oraz elektronicznie. W przypadku tradycyjnej bazy czas dostępu do rekordu numer 1000 będzie zatem 1000 razy dłuższy niż do rekordu numer 1, ponieważ maszyna musi „przeczytać” wszystkie rekordy po kolei (sekwencyjnie). W przypadku in-memory database dostęp do 1000 rekordu potrwa tyle samo co do 1.
Dla przypomnienia – podstawowe zalety wykorzystania in-memory:
– zdecydowanie skrócony czas dostępu do danych oraz ich analizy,
– zwielokrotnione możliwości w zakresie planowania,
– możliwość generowania raportów z aktywności dokonywanych niemal w czasie rzeczywistym,
– w przyszłości dzięki natychmiastowemu dostępowi do informacji oraz ich przeliczeniom ogromne możliwości w zakresie wspomagania decyzyjności (wręcz do momentu, w którym decyzje będą podejmowały maszyny).
Uwaga: Jakość danych nie ma nic wspólnego z wykorzystywaną technologią – nie ma bezpośredniego związku pomiędzy jakością danych a wykorzystaniem „tradycyjnej” Hurtowni Danych czy technologii in-memory. Niezależnie na jakie rozwiązanie się zdecydujemy pamiętajmy, że nie zapewnią nam one odpowiedniej jakości danych, a mogą być jedynie elementem stymulującym proces zarządzania, dbania o dane i ich czyszczenia. Więcej o jakości danych przeczytaj w zakładce poświęconej Master Data Management.