InfrastrukturaRynek

IBM BLU: in-memory i tradycyjna baza, czyli 2 w 1 na platformie POWER8

Zastosowanie mechanizmów in-memory pozwala wzmocnić sprawność bazy IBM DB2 w zakresie obsługi zapytań analitycznych, przy zachowaniu wysokiej wydajności przetwarzania transakcyjnego. Podejście hybrydowe pozostaje niewidoczne dla użytkowników aplikacji biznesowych.

IBM BLU: in-memory i tradycyjna baza, czyli 2 w 1 na platformie POWER8

50-krotne przyspieszenie IBM DB2

Baza DB2 z funkcją BLU działa na dowolnych komputerach, serwerach IBM POWER8, a także platformach x86, choć w przypadku rozwiązań POWER8 uzyskuje 50-krotnie lepszą wydajność” – wyjaśnia Artur Wroński, Information Management Technical Team Leader w IBM Polska. „Minimalne wymaganie dla technologii BLU to komputer z 64 GB RAM” – dodaje.

Za sprawą opartej na założeniach in-memory technologii BLU zmieniona została koncepcja działania mechanizmów optymalizacji środowiska bazodanowego IBM DB2. Pod uwagę brane są takie charakterystyki, jak: rozmiar, czas dostępu, szybkość przesyłania danych. „Zamiast optymalizować dostęp wyłącznie do pamięci dyskowych, baza danych stara się teraz w jak najlepszy sposób wykorzystać wszystkie dostępne warstwy pamięci. Chodzi o to, aby w całości ograniczyć odwołania do dysków, które są znacznie wolniejsze niż pamięć operacyjna. Warto zaznaczyć, że w przypadku przetwarzania transakcyjnego wcześniejsze wersje bazy IBM DB2 bardzo dobrze optymalizowały dostęp do dysku, buforując w pamięci operacyjnej 95-98% najczęściej używanych danych. Było to możliwe ze względu na fakt, że w systemach transakcyjnych tylko niewielka część danych, kilka procent, jest aktywnie używana” – mówi Artur Wroński.

Wg danych IBM, w rozwiązaniach Big Data serwery oparte o POWER8 zapewniają do 50 razy szybszą analizę danych niż analogiczne rozwiązania oparte na procesorach x86. Z których zresztą IBM rezygnuje, sprzedając ten dział do Lenovo.

Według niego, takie podejście nie gwarantuje przyspieszenia zapytań analitycznych, które wymagają wykonania złożonych operacji angażujących kilkadziesiąt procent wierszy relacyjnej bazy danych. W przypadku analiz prowadzonych na rozległych zbiorach danych, dotychczasowe mechanizmy buforowania odczytu przestają wystarczać. „Nowoczesne komputery pozwalają na obsługę pamięci operacyjnej o rozmiarze idącym w terabajty, jednak efektywne wykorzystanie tak dużej pamięci wymusza zupełnie inną organizację przetwarzania danych. Nie chodzi tu tylko o buforowanie danych, ale także sposób, w jaki dane są poukładane w pamięci, jak są indeksowane oraz jak przetwarzane są wyniki pośrednie” – dodaje Artur Wroński.

Baza IBM DB2 z technologią BLU ma być idealnym rozwiązaniem dla systemów raportowania biznesowego, opartych na takich narzędziach, jak IBM Cognos, a także rozwiązań wspierających analizy i data mining, w tym oprogramowania IBM SPSS czy narzędzi SAS Institute.

Kolumna na pomoc wierszowi

Tradycyjny zapis wierszowy dobrze sprawdza się w zastosowaniach transakcyjnych, ale staje się nieefektywny w odniesieniu do zapytań analitycznych. W przypadku zapisu wierszowego odczyt wybranej kolumny wymusza konieczność odczytu wszystkich kolumn tabeli. „Format kolumnowy eliminuje ten problem, jednak jest znacznie mniej efektywny przy aktualizacji danych, ponieważ aktualizacja pojedynczego rekordu wymaga sięgnięcia do wielu bloków danych. W większości systemów analitycznych dane ładowane są do bazy wsadowo, więc w praktyce nie jest to problemem. Gdyby zaś istniała konieczność uruchomienia przetwarzania transakcyjnego i analitycznego w ramach tej samej tabeli, wtedy z pomocą przychodzi technologia znana pod nazwą ‘shadow tables’” – wyjaśnia Artur Wroński.

Wykorzystująca mechanizmy in-memory baza danych IBM DB2 jest w stanie jednocześnie przechowywać dane w formacie kolumnowym i wierszowym. W modelu hybrydowym aktualizacje danych są realizowane w formacie wierszowym i powielane do bazy kolumnowej, która z kolei automatycznie obsługuje zapytania wymagające dostępu do dużych zbiorów danych. Wewnętrzny podział na dwa formaty zapisu danych pozostaje niewidoczny dla użytkowników. Realizację zapytań wspierają dodatkowe tabele usprawniające dostęp do bloków pamięci zawierających odpowiedni zakres potrzebnych danych.

Zamiast optymalizować dostęp do pamięci dyskowych, baza danych IBM DB2 stara się w jak najlepszy sposób wykorzystać dostępne warstwy pamięci. Chodzi o to, aby w całości ograniczyć odwołania do dysków, które są znacznie wolniejsze niż pamięć operacyjna.

Jeszcze przed wykonaniem filtrowania danych baza umie wykluczyć te bloki, na których na pewno nie ma danych z poszukiwanego zakresu. W następnym kroku kompresowane są warunki zapytań i porównywane ze skompresowanymi wartościami danych. Strumień danych pośrednich także umieszczany jest w pamięci operacyjnej, co pozwala na wykonanie wszystkich faz obsługi zapytania bez konieczności sięgania do dysku” – podkreśla Artur Wroński.

Opatentowane technologie

Zaimplementowane w bazie danych IBM DB2 podejście do przetwarzania danych bezpośrednio w warstwie pamięci operacyjnej wykorzystuje – obok zapisu kolumnowego – wiele nowych rozwiązań. Wśród nich warto wskazać opatentowany algorytm kompresji (pozwalający na pracę bez konieczności dekompresowania danych), funkcje przetwarzania wektorowego (umożliwiające wykonanie operacji na wielu danych w ramach pojedynczej instrukcji procesora) czy unikalne metody buforowania dużych ilości informacji.

„Baza DB2 z technologią BLU nie wymaga, aby całość danych zmieściła się w pamięci operacyjnej – w sytuacji, gdy danych jest więcej, w pamięci operacyjnej przetwarzane są wyłącznie aktywne dane. Przykładowo dla 1 TB danych do wydajnego przetwarzania DB2 potrzebuje 128-256 GB pamięci operacyjnej” – zapewnia Artur Wroński. Z kolei nazwa technologii BLU pochodzi od rozwinięcia angielskiego hasła: „Big data, Lightening fast, Ultra easy” i ma obrazować zdolności nowej technologii do szybkiego i łatwo dostępnego przetwarzania dużych zbiorów zróżnicowanych, zmiennych danych.

Główną korzyścią wdrożenia technologii in-memory IBM jest szybsze wykonywanie analiz biznesowych, bez konieczności ręcznego strojenia oraz bez obaw o koszty takiej instalacji” – twierdzi Artur Wroński. Jego zdaniem, wykorzystanie silnika BLU nie wymaga dodatkowych konfiguracji i optymalizacji danych. Odbywa się to w sposób zautomatyzowany. Baza danych samodzielnie zarządza także obciążeniem pamięci operacyjnej. „Przy starcie DB2 rozpoznaje liczbę dostępnych rdzeni, liczbę rejestrów L1 i L2 oraz dostępny rozmiar pamięci operacyjnej. Zautomatyzowany system zarządzania obciążeniami dba o to, aby nie dopuścić do przekroczenia wykorzystania dostępnej pamięci i automatycznie kolejkuje duże zadania, które zostaną uruchomione dopiero wtedy, gdy zwolnią się dostępne zasoby” – mówi Artur Wroński.

Racjonalnie z kosztami

Takie podejście ma pozwalać na zminimalizowanie kosztów sprzętu niezbędnego do wdrożenia in-memory. Ogranicza również wymagania względem infrastruktury, która będzie obsługiwać bazę danych DB2 wraz z wbudowanymi w nią mechanizmami in-memory. Dla osiągnięcia optymalnej wydajności dostępny obszar pamięci operacyjnej powinien odpowiadać 10-20% rozmiaru surowych danych. Kluczowe jest tu rozróżnienie między wolumenem nieprzetworzonych danych a wielkością dotychczasowej, relacyjnej bazy. W przypadku klasycznego zapisu tworzone są indeksy i agregaty danych, w dużym stopniu wpływające na rozmiar bazy danych.

Nowoczesne komputery pozwalają na obsługę pamięci operacyjnej o rozmiarze idącym w terabajty, jednak efektywne wykorzystanie tak dużej pamięci wymusza zupełnie inną organizację przetwarzania danych. Nie chodzi tu tylko o buforowanie danych, ale także sposób, w jaki dane są poukładane w pamięci, jak są indeksowane oraz jak przetwarzane są wyniki pośrednie.

Technologia BLU jest integralną częścią silnika bazodanowego IBM DB2 w wersji 10.5. Jej wdrożenie sprowadza się więc do aktualizacji oprogramowania oraz zdefiniowania tabel kolumnowych. Możliwa jest także konwersja dotychczasowych tabel do sposobu zapisu typowego dla przetwarzania in-memory. Jednocześnie, użycie wbudowanych w środowisko bazodanowe IBM funkcji in-memory wymaga licencji typu Advanced. Co ciekawe, oferta IBM przewiduje różne modele licencjonowania mechanizmów BLU. Jeden z nich uzależnia wartość licencji od ilości obsługiwanych, surowych danych po kompresji.

W takim modelu kupując licencję, np. na 1 TB danych, można z powodzeniem wykorzystać mechanizmy in-memory w odniesieniu do bazy o wolumenie kilku terabajtów nieskompresowanych danych surowych – i to przy zastosowaniu sprzętu o dowolnych parametrach – co gwarantuje uzyskanie żądanej wydajności bez obawy o koszty oprogramowania” – dodaje Artur Wroński. Takie podejście – na tle rozwiązań konkurencyjnych – ma wyróżniać przede wszystkim łatwość obsługi. „Wystarczy utworzyć tabelę zorganizowaną kolumnowo, wgrać dane i można już pracować z pełną wydajnością. Zaimplementowane w środowisku DB2 mechanizmy in-memory zostały opracowane przy zachowaniu wszystkich dotychczasowych możliwości bazy, co daje komfort pracy z dojrzałym rynkowo produktem” – uważa Artur Wroński. Technologia BLU w niedalekiej przyszłości zostanie wbudowana w sprzętowo-aplikacyjne rozwiązania IBM pureData (wcześniej IBM Netezza).

Poniżej infografika prezentująca możliwości POWER8 w kontekście in-memory.

IBM BLU: in-memory i tradycyjna baza, czyli 2 w 1 na platformie POWER8

Tagi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *