TECHNOLOGIE ANALIZY DANYCH I CHMUROWE W ZASTOSOWANIACH BIZNESOWYCH Poznao, 30 września 2015 DB2 BLU od środka Artur Wrooski Baza danych in-memory Baza danych IN-MEMORY system zarządzania bazami danych, który wykorzystuje pamięd operacyjną jako główny nośnik do składowania bądź przetwarzania danych. L1, L2 cache DRAM NVRAM SSD HDD Latencja Transfer danych IOPS Cena Dostępny rozmiar 1
DB2 BLU 35-73x 10x Zer0 Szybsza analityka, niż w bazie organizowanej wierszami Oszczędności przestrzeni dyskowej Strojenia DB2 BLU optymalizacja w zakresie Pamięci CPU I/O IN-MEMORY Single Instruction Multiple Data Kompresja 2
DB2 BLU składowanie kolumnowe CREATE TABLE tabela1 ( k1 BIGINT, k2 VARCHAR(30), k3 INT, k4 DECFLOAT) PRIMARY KEY (k1) ORGANIZE BY COLUMN Kol. 1 Kol. 2 Kol. 3 Kol. 4 Wiersz 1 1 Warszawa 1000 122,32 Wiersz 2 2 Kraków 1200 21,44 Wiersz 3 3 Gliwice 900 28,56 Wiersz 4 4 Poznao 1300 744,21 Blok 1 Blok 2 Blok 3 Blok 4 DB2 BLU kompresja Pamięd operacyjna Blok danych 0 1 0 0 010 010 000001 0 Blok danych 0 Słownik kompresji Słownik kompresji 0 = Warszawa 1 = Kraków 000 = Poznao 001 = Gliwice 010 = Gdaosk 011 = Wrocław 111 = Katowice 000000 = Kielce 000001 = Sopot Najczęściej występujące miasta (1 bit pokrywa 2 pozycje) Często występujące miasta (3 bity pokrywają 8 pozycji) Rzadziej występujące miasta (6 bitów pokrywa 64 pozycje) 3
DB2 BLU optymalizacja CPU Rejestry procesora: L1, L2 2009 2005 2001 2010 2006 2002 2011 2007 2003 2012 2008 2004 Dane Instrukcja Porównaj = 2005 Rdzeo procesora 2005 Przetwarzanie wielu wartości w 1 cyklu zegara (Single Instruction Multiple Data) Omijanie bloków danych (ang. data skipping) DB2 BLU - wymiarowanie??? N - rozmiar danych przed kompresją % danych aktywnych (%Kol. %Wier.) X współczynnik kompresji 40% RAM bufor danych 60% RAM obsługa sesji 4
DB2 BLU - zarządzanie obciążeniem Aplikacje i użytkownicy Tysiące zapytao SQL DB2 DBMS kernel Ograniczona częśd zapytao SQL konsumuje zasoby Zapytania SQL. DB2 BLU przykład użycia: SAP BW Narzędzia raportujące BW Aggregate Reporting Layer Enterprise Data Warehouse Layer Info Cube DSO FLAT InfoCube DSO Master Data NLS InfoCube NLS DSO DB2 BLU jest certyfikowane do użycia w systemie SAP BW i zintegrowane z narzędziami SAP Wszystkie obiekty SAP BW mogą byd składowane kolumnowo i akcelerowane w pamięci (od aktualizacji FP4). Data Acquisition Layer PSA PSA PSA PSA BW Near-Line Storage (NLS) (dane historyczne; rzadziej używane) System źródłowy 1 System źródłowy 2 5
DB2 BLU wdrożenie w SAP BW Since we moved to IBM DB2 with BLU Acceleration, our sales team can react much quicker to fast-changing market demands. For example, we cut database run time of complex reports by up to 98 percent. Across all business reports, we achieved savings of 30 percent on average. - Bernd Dummel, Team Manager SAP BW and Application Development at Balluff Shadow Tables Transakcje CREATE TABLE ( ) ORGANIZE BY ROW; Analityka CREATE TABLE ( ) ORGANIZE BY COLUMN; Połączenie przetwarzania transakcyjnego i analitycznego na tych samych danych Shadow table jest rodzajem agregatu kolumnowego (MQT) Przezroczyste dla aplikacji Pozwala zrezygnowad z indeksów (do analityki) na tabeli wierszowej. Replikacja (mechanizm CDC) CREATE TABLE tab_shadow as (select col1, col2, col3 from tab) data initially deferred refresh deferred enable query optimization maintained by replication organize by column 6
dashdb DB2 BLU+ w chmurze BLU Acceleration Netezza In-Database Analytics SoftLayer Infrastructure as a Service dashdb DB2 BLU+ w chmurze Plan CPU rdzenie Pamięd Dyski Cena Freemium współdzielone współdzielona < 1 GB $ 0 Entry współdzielone współdzielona 20 GB $50 USD (za miesiąc) Enterprise 4 TB 32 256 GB 4 TB HDD $4560 USD (za miesiąc) Enterprise 12 TB 32 256 GB 12 TB HDD $7160 USD (za miesiąc) Enterprise MPP 24 (nowsze CPU) (per węzeł) 256 GB (per węzeł) 4 TB SSD (per węzeł) $5260 USD (za miesiąc) 7
dashdb MPP klaster DB2 BLU CREATE TABLE ORDERS (ORDER_NO, CUST_NO, ) DISTRIBUTE BY HASH (CUST_NO) CREATE TABLE CUSTOMERS (CUST_NO, ) DISTRIBUTE BY HASH (CUST_NO) Te same klucze SELECT FROM ORDERS O, CUSTOMERS C WHERE O.CUST_NO = C.CUST_NO dystrybucji. ORDERS Table 100, 1, 135, 4, 190, 4, 222, 8, 118, 6, 149, 7, 206, 3, 282, 11, 112, 2, 168, 5, 174, 12, 211, 2, No data shipping required Join Processing Join Processing Join Processing CUSTOMERS Table 1, 4, 8, 10, 3, 6, 7, 11, 2, 5, 9, 12, dashdb MPP klaster DB2 BLU CREATE TABLE ORDERS (ORDER_NO, CUST_NO, ) DISTRIBUTE BY HASH (ORDER_NO) CREATE TABLE CUSTOMERS (CUST_NO, ) DISTRIBUTE BY HASH (CUST_NO) Różne klucze SELECT FROM ORDERS O, CUSTOMERS C WHERE O.CUST_NO = C.CUST_NO dystrybcji ORDERS Table 118, 6, 135, 4, 174, 12, 282, 11, 112, 2, 168, 5, 206, 3, 222, 8, 100, 1, 149, 7, 190, 4, 211, 2, Data shipping Shipped rows Shipped rows Shipped rows Join Processing Join Processing Join Processing CUSTOMERS Table 1, 4, 8, 10, 3, 6, 7, 11, 2, 5, 9, 12, 8
www.ibm.com/software/data/dashdb/ www.ibm.com/software/data/dashdb/ 9
www.ibm.com/software/data/dashdb/ www.ibm.com/software/data/dashdb/ 10
www.ibm.com/software/data/dashdb/ www.ibm.com/software/data/dashdb/ 11
Chmura IBM SoftLayer Infrastructure as a Service DB2 BLU Ponadprzeciętna wydajnośd (35-73x) Efektywna kompresja (10x) Prostota użycia: Załaduj dane i działaj dashdb w chmurze: Usługa w IBM BlueMix Integracja z NOSQL, Cloudant R oraz analityka na danych przestrzennych Shadow tables raportowanie na tabelach OLTP Zgodnośd z bazami Oracle @98%+ Klaster geograficzny HADR Kontakt: http://pl.linkedin.com/in/arturwronski/en artur.wronski@pl.ibm.com 603-886649 12