Presentation #2 from IBM conference "Analityka Nowej Generacji", 8th of March 2018, Warsaw
Title: IBM Integrated Analytics System architecture
Presenter: Marcin Marczewski
[language: polish]
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
[#2] architektura - IBM Integrated Analytics System
1. IBM Integrated Analytics System
IIAS - Architektura rozwiązania
Marcin Marczewski
IBM Analytics
Analityka
Nowej
Generacji
2. IBM Integrated Analytics Appliace
Najnowsza generacja rozwiązania PureData
for Analytics (Netezza) oferowanego jako
masywnie równoległa (MPP) baza danych
do hurtowni danych.
Znacznie szerszy zakres zastosowania, nie tylko
jako baza danych dla hurtowni danych, ale
także do wydajnego przetwarzania
operacyjnego (HTAP – Hybrid Transactional
Analytical Processing).
Rozwiązanie jest także gotowym do użycia
środowiskiem dla data science – dzięki
unikatowej integracji z silnikiem Apache Spark
oraz IBM Data Science Experience.
Przyśpieszenie 2-5x w stosunku do
poprzedniego modelu, dzięki całkowicie
nowemu oprogramowaniu bazującemu na
przetwarzaniu in-memory silnika Db2.
Wbudowany szeroki dostęp do algorytmów
maszynowego uczenia (Spark R, Spark ML,
Jupiter Notebooks) wykonywanych
bezpośrednio na danych.
Rozwiązanie oparte o procesory IBM Power 8
oraz macierze IBM Flash, z możliwością
elastycznej rozbudowy (aktualnie rozbudowa do
672 rdzeni, 15 TB RAM oraz 768 TB danych) .
!
Tzw. hardware appliance, zaprojektowany
w laboratoriom IBM w Krakowie. Silnikiem
bazy danych jest Db2 Warehouse (wersja
kontenerowa).
3. IBM Integrated Analytics Appliace
• ekstremalnie niskie opóźnienia
• 99.999% niezawodność i wydajność
operacyjna
• szybsze analizy i wnioskowanie
Macierze typu Flash
• akceleracja CPU poprzez wykorzystanie zrównoleglania
Single Instruction Multiple Data (SIMD)
• niezawodność i wydajność
Architektura Power 8
4. Specyfikacja – IIAS full rack
2x przełączniki Mellanox 10G Ethernet:
• Porty 48x10G
• Porty 2x40/50G
• Podwójne przełączniki
IBM SAN64B 32G Fibre Channel SAN
• Przełącznik 16Gb FC
• Porty 48x 32Gb/s SFP+
Do 3 macierzy Flash w jednej szafie:
• IBM FlashSystem 900
• Kontrolery Dual Flash
• Moduły Micro Latency Flash
7 węzłów, każdy zawiera:
• IBM Power 8 S822L 24 rdzenie 3.02GHz
• 512 GB RAM (każdy węzeł)
• 2x 600GB SAS HDD
• Red Hat® Linux OS
• Db2 Warehouse (kontener Docker)
Pojemność:
192 TB*
(* przy kompresji 4x)
Maksymalny pobór mocy:
9.4 kW
Chłodzenie:
32,000 BTU/godz.
Skalowanie:
od 1/3 szafy do 8 szaf
(GA od 1/3 do 1 szafy)
IIAS jest najwydajniejszą opcją wdrożenia bazy
Db2 Warehouse. Systemy deweloperskie
uruchamia się zwykle na sprzęcie klienta (doker
na Linuksie) lub w chmurze.
5. Modele IBM Integrated Analytics System
M4001-003
1/3 szafy
M4001-006
2/3 szafy
M4001-010
Pełna szafa
M4001-020
2 szafy
M4001-040
4 szafy
Serwery 3 5 7 14 28
Rdzenie 72 120 168 336 672
Pamięć
operacyjna
1.5 TB 2.5 TB 3.5 TB 7 TB 14 TB
Macierze Flash 1 2 3 6 12
Przestrzeń
Flash dla bazy
danych
(dla kompresji 4x)
64 TB 128 TB 192 TB 384 768
Warstwowa
pamięć
masowa
(opcja)
TBD—GA 1H 2018
≥ 2 szafy + warstwowa pamięć masowa - 1H 2018; Rozbudowa - 2H 2018
Serwery IBM Power 8 S822L (24 rdzenie 3.02GHz)
TMS 900 Pamięć flash
Rozbudowalny – warstwowa pamięć masowa
Przełączniki Mellanox 10G Ethernet
Przełączniki Brocade SAN
IIAS jest tak zaprojektowany
by można było łatwo
rozbudowywać konfigurację.
Przejście na wyższy model to
tylko umieszczenie modułu
skalowania (2 serwery Power
+ Flash).
W tabeli ujęto przestrzeń Flash na dane w
bazie danych. Dodatkowa przestrzeń o tym
samym rozmiarze udostępniona jest na
system plików do ogólnego wykorzystania
(np. na potrzeby ładowania danych).
6. Modele IBM Integrated Analytics System
1/3 Rack
Front Rear
2/3 Rack
Front Rear
Full Rack
Front Rear
8. IIAS - platforma
Docker
Platforma do zarządzania kontenerami, ogranicza potencjalne
problemy związane z wdrożeniem oprogramowania oraz
utrzymaniem (łatwe aktualizacje i utrzymanie)
Db2 Warehouse
Baza danych z uwspólnionym silnikiem SQL i technologią
przetwania in-memory (BLU)
DSM – Data Server Manager
Platforma (web) do zarządzania appliance’em i bazą danych
Call Home
Mechanizm umożliwiający automatyczne przesłanie danych
diagnostycznych do IBM
Red Hat Enterprise Linux LE for Power
Wysokowydajna platforma Linux klasy enterprise
IBM Spectrum Scale (GPFS)
Bardzo wydajny klastrowy system plików, równoległa praca ze
współdzielonymi zasobami dyskowymi
Data Science Experience (DSX) Local
Integrated Analytics System dostacza jednowęzłową,
wbudowaną instalację DSX Local.
Rozwiązanie klasy enterprise dla data scientistów i
inżynierów danych
Prosta integracja z RStudio, Spark, oraz notebookami
Jupyter
RAS / Diagnostyka
Logowanie i diagnostyka środowiska
Platform Services (Wolverine)
Konfiguracja sprzętu
Zarządzanie zasobami sprzętowymi, monitorowanie
elementów sprzętowych, raportowanie do Magneto
Platform Management (Magneto)
Zarządzanie appliancem
Monitorowanie systemu
System zdarzeń i alertów
9. IIAS – Docker i kontenery
Docker - czym jest?
• docker separuje aplikacje od infrastruktury przy
pomocy tzw. kontenerów
• zapewnia izolację procesów w ramach tego
samego systemu operacyjnego
• kontener zawiera aplikację oraz system plików (w
tym biblioteki systemowe) potrzebne do
uruchomienia aplikacji
• dużo „lżejszy” niż wirtualizacja systemu
operacyjnego
• bardzo wygodna metoda dystrybucji aplikacji
• instalacja Db2 Warehouse to tylko wydanie
jednego polecenia: pobierz z repozytorium obraz i
uruchom kontener
DOCKER WIRTUALIZACJA
VS.
10. Węzły w IIAS
• Jeden kontener na węzeł
• 1 węzeł główny (head node)
• 1/3 Rack - 3 węzły
• 2/3 Rack - 5 węzłów
• Full Rack - 7 węzłów
• Serwer LDAP server oraz konsola web
aktywna tylko na jednym węźle
node0101 (head node)
node0102 node0103
11. IIAS – baza danych Db2 Warehouse z architekturą MPP
¼
danych
¼
danych
¼
danych
¼
danych
Db2 Warehouse
• architektura MPP – „shared nothing”
• przetwarzania in-memory
• kolumnowe składowanie danych zoptymalizowane pod
kątem zapytań analitycznych
• kompresja danych
• natywne szyfrowanie danych
• mechanizm zarządzania obciążeniem (WLM)
• wbudowane funkcje kompatybilności z Netezza/PDA oraz
Oracle
• wbudowany silnik federacyjny
• łatwa admnistracja
12. IIAS – baza danych Db2 Warehouse z architekturą MPP
Architektura MPP
• na każdym węźle fizycznym (serwerze) tworzonych jest kilka
węzłów logicznych węzłów (partycji) danych (MLN)
• dane są równomiernie rozkładane na poszczególne węzły przy
wykorzystaniu funkcji mieszającej („hashing”)
• dedyktowane zasoby CPU, pamięci oraz przestrzeń dyskowa dla
partycji
• zapytania są automatycznie rozkładane na dostępne węzły przez
węzeł przyjmujący zapytanie
• możliwość skalowania zasobów
• Db2 Warehouse dostarcza wbudowaną wysoką dostępność w
przypadku problemu z wybranym węzłem
13. Silnik federacyjny Db2 Warehouse
Tabela 1 Tabela link do
zewnętrznej bazy.
SELECT, INSERT, UPDATE
Db2
• Db2
• Db2 Warehouse
• Oracle DB
• Big SQL
• Cloudera Impala
• Apache Spark SQL
• Apache Hive
• Informix
• Netezza
• Db2 for z/OS®
• Db2 for IBM i®
• MySQL
• Microsoft SQL Server
• PostgreSQL
• Sybase
• Teradata
• IIAS
• MQ
Szybkie zapytania do obiektów w zdalnych źródłach
danych
SELECT birthdate FROM
sudb.rschema.employee WHERE
firstname=’SAM’
sudb – remote database
rschema – remote schema name
employee – remote table name
14. IIAS – wysoka dostępność
Wysoka dostępność jest zapewniona na poziomie sprzętu jak i oprogramowania
• niezawodność Power 8 oraz FlashStorage
• redundante elementy sieciowe
• wbudowane mechanizmy wykrywania awarii i reagowania
• węzły obliczeniowe zorganizowane sa w klastry w celu dostarczania operacji w
przypadku awarii wybranego węzła
• węzeł, który uległ awarii jest dystrybuowany do innych działających w ramach tego
samego racka
• zasoby systemowe zaprojektowane z odpowiednim narzutem, aby awaria węzła nie
rzutowała na wydajność
• krótki outage w celu realizacji procedury przełączenia
• minimalna, wymagana liczba wezłów działających: 1/3: 2 (na 3), 2/3: 3 (na 5), full-
rack: 4 (na 7)
Wbudowana wysoka dostępność w Db2 Warehouse
16. IIAS - bezpieczeństwo
IIAS to prywatny, zamknięty system
• fizyczne połączenia są kontrolowane poprzez patch panel appliance’u
• połączenia logiczne zarządzane są poprzez wewnętrzny lub zewnętrzny katalog
LDAP
• odseparowany dostęp do bazy i do administracji środowiskiem (Użytkownicy bazy
vs. administracja appliancem (apuser))
• operacje administracyjne dla dostępu non-root: podpinanie SAN lub NAS,
zarządzanie Db2 Warehous za pośrednictwem ssh, diagnozowanie i analiza
błędów
• dostęp root – na potrzeby utrzymania i wsparcia technicznego
Szyfrowanie sprzętowe
• dane są szyfrowane na dysku (Flash)
Szyfrowanie natywne w Db2 Warehouse
• funkcja Db2 Native encryption jest włączona (z użyciem klucza AES 256)
17. Kompatybilność IIAS z PDA/Netezza
Kod i dane z Netezza oraz Pure Data for Analytics są łatwo
przenoszalne do Integrated Analytics System
• Wsparcie na poziomie SQL
Funkcje kompatybilności z Oracle - m.in. wsparcie dla PL/SQL
Narzędzia do automatyzacji migracji do IIAS
Database Conversion Workbench (DCW), Harmony Profiler, db2_migrate
18. Zarządzanie środowiskiem – linia poleceń
Proste zarządzanie środowiskiem z poziomu
linii poleceń
Komendy monitorujące:
• ap – pokazuje status appliance’u
• ap issues – wyświetla liste aktualnych problemów
• ap issues –e – wyświetla fragmenty loga zdarzeń
• ap hw – pokazuje zasoby sprzętowe
• ap sw – pokazuje zasoby softwarowe
• ap fs – pokazuje status przestrzeni dyskowej
• ap node – wyświetla informacje o węzłach
• ap info – ogólne informacje o appliance
• ap ds – displays MLNs distribution between nodes
Komendy do zarządzania:
• apstart – startuje komponenty software’owe
• apstop – zatrzymuje komponenty software’owe
• ap node enable – włącza/aktywuje węzeł
• ap node disable – wyłącza/deaktywuje węzeł
• ap node rebalance – rebalance MLNs between nodes
• ap config – konfiguracja SMTP i alertów
• apcertmgmt – wgranie certyfikatu X.509 dla REST API
bash-4.2$ ap
System state is 'Ready'
bash-4.2$ ap hw
+-------------------------+--------------+-----------+--------------+----------------+------------+
| Name | Location | Status | SN | Model | FW |
+-------------------------+--------------+-----------+--------------+----------------+------------+
| Fabric Switch | rack1.fabswa | OK | MT1532X10497 | MSX1710-BS2F2O | SWv3.4.3002|
| Fabric Switch | rack1.fabswb | OK | MT1533X01143 | MSX1710-BS2F2O | SWv3.4.3002|
| Fiber Channel Switch | rack1.fcswa | OK | | | |
| Fiber Channel Switch | rack1.fcswb | OK | | | |
| Flash Storage Node | rack1.fsn1 | OK | | | |
| Management Switch | rack1.mgtswa | OK | | | |
| Management Switch | rack1.mgtswb | OK | | | |
| Server | rack1.node1 | OK | 212598A | 8247-22L | FW860.20 |
| Server | rack1.node2 | OK | 21259BA | 8247-22L | FW860.20 |
| Server | rack1.node3 | ATTENTION | 212599A | 8247-22L | FW860.20 |
| Remote Power Controller | rack1.rpc1 | OK | | | |
| Remote Power Controller | rack1.rpc2 | OK | | | |
| Remote Power Controller | rack1.rpc3 | OK | | | |
| Remote Power Controller | rack1.rpc4 | OK | | | |
| Terminal Server | rack1.ts1 | OK | | | |
+-------------------------+--------------+-----------+--------------+----------------+------------+
bash-4.2$ ap sw
+-----------------------+--------------------+--------+----------+
| Name | Location | Status | Version |
+-----------------------+--------------------+--------+----------+
| Appliance Application | dashdb | OK | 11.1.9.0 |
| Appliance Application | dsserver | OK | 3.1.1 |
| Appliance Application | ha-management | OK | v1.1.7 |
| Appliance Application | ldap | OK | 2.4.40 |
| Appliance Application | spark | OK | 327 |
| dashDB Node | dashdb/rack1.node1 | OK | |
| dashDB Node | dashdb/rack1.node2 | OK | |
| dashDB Node | dashdb/rack1.node3 | OK | |
+-----------------------+--------------------+--------+----------+
19. Zarządzanie środowiskiem – konsola webowa
Uwspólnione środowisko graficzne do zarządzania na bazie
IBM Data Server Managera
• ogólny i szczegółowy pogląd na status zasobów
• analiza zdarzeń i alertów
• Key Performance Indicators (KPI)
• monitorowanie sprzętu, przestrzeni dyskowej oraz oprogramowania
• Call home
• monitorowanie i wykrywanie problemów
• Hhstoria zapytań oraz analiza zapytań „w locie”
• monitorowanie obciążeń
• zarządzanie danymi
• ładowanie danych
• administracja bazą danych (i bezpieczeństwem danych)
• uruchamianie zapytań SQL z opcją podglądu planu wykonania
• pobieranie wyników wykonanych zapytań do CSV lub XLSX
• LDAP
• wirtualizacja zapytań
23. Zarządzanie środowiskiem – przenoszenie danych
Pełna gama możliwości i narzędzi do przenoszenia danych do IIAS
• dbload / db2_migrate oraz narzędzia Db2 Warehous: load / import / ingest
• External Tables
Create Table
create table foo (c1 int, c2 int)
Create a Named External Table
create external table external_foo (c1 int, c2 int) using (dataobject (‘/tmp/foo.txt’));
Load
insert into foo (select * from external_foo);
Unload
insert into external_foo (select * from foo);
Transient Load
insert into foo select * from external ‘/tmp/foo.txt’ using (delimiter ‘,’);
Transient Unload
create external table ‘/tmp/foo.txt’ using (delim ‘,’) as select * from foo;
24. IBM Integrated Analytics System Analityka
Nowej
Generacji
Dziękuję za uwagę
Marcin Marczewski
IBM Analytics