Sybase IQ: Analytický svět o 90 lépe Honza Válek Anywhere s.r.o. jan.valek@anywhere.cz
Agenda 1 2 3 4 BI refresh Symptomy skomírající BI infrastruktury Sybase IQ Vysoký výkon + Nízké TCO 5 Potřeby business uživatele Lifecycle management Implementace DWH IQ pomocí PowerDesigner Sybase IQ Akcelerátor (IQ + PowerDesigner) 6 7 8
BI refresh
BI architektura Zdrojové Systémy Extract, Transform, a Load Analytický Server Reporting a Analýza Sybase Replikace Sybase ETL Informatica Data Quality Pentaho IBM EDW Další Zdroje Sybase PowerDesigner Datové Modelování/ Metadata Management / Business Process Modeling
Rostoucí nároky na analytiku Škálovatelnost Systému Analytika/BI Požadavky+ Sybase IQ Možnosti OLTP Možnosti OLTP Požadavky BI Škálovatelnost Uživatelé Dotazy Data Transakční škálovatelnost Uživatelé Transakce Data Rozevírající se nůžky OLTP RDBMS Možnosti 1970s IBM Info Center IMS to DB2/DL1 1980s DSS Sequent Pyramid Britton Lee 1990s Datawarehouse RedBrick Teradata 2000s BI/Analytics Sybase IQ Netezza Strategické BI (pomalé, drahé) Taktické BI (rychlé, hospodárné)
8 SIGNÁLŮ KRIZE BI Pro uživatele 1 2 3 ProIT 4 5 6 Rostoucí odezva na dotazy Neúplná či neaktuální data Dlouho se čeká na nové reporty Rostoucí nároky na administraci Doba vymezená pro load dat přestává stačit Nezvladatelný backup Pro sponzora 7 8 Bobtnající náklady Ztráta agilnosti
KTERÝM SMĚREM JÍT? Průběžně přikupovat hardware, software a personál PřidávatCPU aservery Stavět stále větší clustery Přidávat další a další disky Přijmout neodzkoušenou architekturu Hybridní řešení Zvolit alternativu Masivně paralelní engine Hardware engine Sloupcově orientovaný engine
Sybase IQ
Efektivní analytická práce s velkým objemem dat Typické problémy OLTP při analytické práci Dlouhotrvající komplexní dotazy Velké nároky na diskový prostor a HW Potřeba ručního ladění výkonu
Vertikální uložení dat v Sybase IQ Page 1 C1 C2 C3... C50 C1 C2 C3... C50 C1... C2 C3... C50 C1 C2 C3... C50 Page 1 of C1 C1 C1 C1... C1 Page 1 of C2 C2 C2 C2... C2 Page 1 of C3 C3 C3 C3... C3 Page 2 C1 C2 C3... C50 C1 C2 C3... C50 C1... C2 C3... C50 C1 C2 C3... C50 Page 2 of C1 C1 C1 C1... C1 Page 2 of C2 C2 C2 C2... C2 Page 2 of C3 C3 C3 C3... C3
Vertikální uložení dat Efektivnější zpracování analytických dotazů Načítání pouze těch dat, která jsou skutečně potřeba Extrémní úspora I/O operací bezkonkurenční odezva na uživatelské dotazy SELECT JM, AVG(PLAN) GROUP BY JM Tradiční OLTP ID JM DPT PLAN 1 aaa zz 70,5 2 bbb yy 80,6 3 aaa xx 90,7 4 ddd vv 60,4 5 aaa uu 50,3 6 bbb tt 40,2 7 ddd ss 30,1 8 aaa rr 20,0 Sybase IQ ID JM DPT PLAN 1 aaa zz 70,5 2 bbb yy 80,6 3 aaa xx 90,7 4 ddd vv 60,4 5 aaa uu 50,3 6 bbb tt 40,2 7 ddd ss 30,1 8 aaa rr 20,0
Efektivní využití diskového prostoru Ukládání dat pomocí bitových (FP) indexů Data = indexy Bez požadavků na dodatečný diskový prostor Zjednodušená struktura FP indexu Mapovací tabulka Na základě kardinality je vytvářen x bytový FP index Raw Data 255 => 1 byte 65536 => 2 byte 16 mil => 3 byte V ostatních případech flat Tabulka dat Důsledek Data Values Lookup Pages Color Token (*) Red 1 102 Blue 2 412 Green 3 662 Data v databázi zaberou méně prostoru než v surovém stavu Red Blue Green Red Data Pages 1 2 3 1 3 1 3 2
Efektivní využití diskového prostoru Uložení 1 TB surových dat ÚDAJE Z TPC BENCHMARKU 6.5 TB 5.1 TB 4.7 TB 4TB Data v databázi IQ zaberou méně prostoru než v surovém stavu!!! 0.47 TB DB2 UDB IBM AIX Teradata NCR Informix HP Oracle Sun Sybase IQ Sun
Redukce a zrychlení I/O operací High Group (HG)
Redukce a zrychlení I/O operací Low Fast (LF)
Agregace a vyhledávání High Non Group (HNG)
Umístění objektů a partitioning CREATE TABLE richard ( col1 INT IQ UNIQUE (65500) col2 col3 VARCHAR(20), CLOB PARTITION (p1 IN dsp11, p2 IN dsp12, p3 IN dsp13), col4 DATE, col5 BIGINT, col6 VARCHAR(500) PARTITION (p1 IN dsp21 p2 IN dsp22), PRIMARY KEY (col5) IN dsp2 ) IN dsp1 PARTITION BY RANGE (col4) (p1 VALUES <= ( 2006/03/31 ) IN dsp31, p2 VALUES <= ( 2006/06/30 ) IN dsp32, p3 VALUES <= ( 2006/09/30 ) IN dsp33 ); CREATE DATE INDEX col4_date on richard (col4) IN dsp3; dsp1 dsp2 dsp3 dsp11 dsp12 dsp13 dsp21 dsp22 dsp31 dsp32 dsp33 Lookup Store for all columns Primary Key (HG) for col5 DATE index for col4_date FP Index for col3 (where col4 <= 2006/03/31) FP Index for col3 (where col4 <= 2006/06/30) IQ FP Index for col3 (where col4 <= 2006/09/30) FP Index for col6 (where col4 <= 2006/03/31) FP Index for col6 (where col4 <= 2006/06/30) FP Index for col1 col2 col4 col5 (where col4 <= 2006/03/31) FP Index for col1 col2 col4 col5 (where col4 <= 2006/06/30) FP Index for col1 col2 col4 col5 and col6 (where col4 <= 2006/09/30)
LOAD dat Sybase IQ = analytická databáze Rychlý SELECT => Pomalý INSERT? Řešení: BulkLOAD! (i replikace) Load dat je 3x paralelní: Tabulky Partitions Sloupce Ukládá se zlomek objemu zdrojových dat Sybase IQ je od počátku koncipováno jako výhradně analytická databáze, která bude ve společnosti vždy existovat spolu sprimárními databázovými transakčními systémy, z nichž bude v pravidelných intervalech plněna.
Sybase IQ Zvenku a Zevnitř Zvenku: ANSI relační databáze Tabulky se sloupci a řádky Popodra Uložené procedury, funkce, views Konkurentní R/W ANSI 99 SQL, T-SQL, XML, OLAP funkce Konexe aplikací ODBC, JDBC, Open Client, Oledb Podpora většiny nejrozšířenějších BI nástrojů Nezávislé schéma Star, Relational, Flat (Rcubes) plněno ETL, replikací OS Platforma Unix (Solaris, HP-UX, AIX), Windows XP, Linux Storage technologie FC SCSI, ATA A další. Zevnitř: Architektura pro reporting a analýzu Flexibilní a škálovatelné Rychlé odezvy na dotazy Bohatá indexace pro připravené i ad-hoc dotazy Paralelní běh Rychlý load Bulk load Škálovatelnost uložení dat Sloupcové uložení umožňuje efektivní kompresi Horizontální i certikální řezání tabulek Tokenizace podporuje deduplikaci uložených dat Škálovatelnost z hlediska uživatelů Multiplex nasazení umožňuje masivní konkurentní čtení a zápis Podpora nestrukturovaných formátů Text, Obrázky, Video, Dokumenty, A další.
SYBASE IQ ABI EKOSYSTÉM Zdrojové Systémy Extract, Transform, a Load Analytický Server Reporting a Analýza Sybase Replikace Sybase ETL Informatica Data Quality Pentaho IBM EDW Další Zdroje Sybase PowerDesigner Datové Modelování/ Metadata Management / Business Process Modeling
Vysoký výkon i nízké TCO
Sybase IQ a TCO Náklady na pořízení Licence- CPU Úložný prostor Paměť HW Náklady na správu databáze ANSI SQL databáze Typicky 5-10% utilizace stávajících DBA Náklady na rozvoj a správu BI řešení Viz dále
Sybase IQ a DW tuning DB statistiky? OLAP kostky (MOLAP)? Agregační tabulky? Materializovaná view? Další a další Data marty? X verzí jedné tabulky? SQL hinty? Indexy?
Přínosy pro business uživatele
Analytický výkon Prokázaná bezkonkurenční rychlost odezvy na dotazy bez nekoncepčních berliček Analýzy, které si dříve společnost nemohla dovolit, nedokázala představit Sybase IQ versus IQ ASE vs. Query Sybase Times ASE 1,500,000 1,000,000 500,000 0 1 2 3 4 5 6 ASE IQ Q SYBASE ASE SYBASE IQ ROZDÍL 1 150,439 110,806 136% 2 1,470,418 301,525 488% 3 497,715 7,057 7052% 4 723,550 9,693 7465% 5 864,791 181,882 475% 6 741,383 122,193 607% Všechny dotazy join tabulek 850M, 165M a 60M řádek
Konečně JEDNA verze pravdy Datový sklad Sybase IQ umožňuje uložení veškerých dat pouze jednou, v libovolné míře detailu, bez nutnosti sumací a agregací a to včetně hluboké historie!!! OLAP OLAP DM DM DM EDWH DWH
Zkrácení intervalu Požadavek -Řešení Testování, Dokumentace Požadavek na nový report Verzování tabulek Nastavení loadudat do DWH Tvorba pomocných tabulek Definice reportu Tvorba fyzických OLAP kostek Materializace view Ladění SQL dotazu Hotový report
Testování BI Funkční testování Funkcionalita jednotlivých komponent Integrace komponent Obsahové testování Jádro testování BI Všechny vrstvy obsahují taková data, která mají Nezbytné zapojení business uživatelů
Svoboda pro power-usery(bi playground) Menší závislost na IT Databázi nevadí ani nepoučené dotazy Bezkonkurenční analytická odezva Nezávislost na DB schématu View nezpomalují výkon řešení Rychlý loaddat Komprese dat Business analytik nesmí být limitován technologií!
InformationLifecycle Management
Information Lifecycle Mgmt: Roll-on/off Sep AugJulJun 3: Mark Partition Read-Only 4: Roll-Off: Drop Partition 5: Re-use DBSpace 1: Roll-On: Load Monthly Table Partition Jun May Apr Mar Feb Jan Dec 2: Back-Up SAN Replication Partition Table by Date Backup and Mark Read-Only Drop Old Data Partitions
Information Lifecycle Management? Proaktivní management informace v průběhu různých fází jejího životního cyklu a stárnutí. Důvody pro implementaci ILM: - Větší produktivita DBA - Snížení režijních nákladů na uložení dat a Zabezpečení citlivých dat - Zlepšení výkonu BI aplikací a zrychlení zálohování Data warehousing Prostředí Současní Sybase IQ zákazníci Sybase IQ vize 2011 SoučasníSybase IQ zákazníci s > 2 TB uložených dat
Information Lifecycle Management IQ + PD Workspace Data Analytics v2.5 IDE Modeling Plug-in (PowerDesigner v15.1) pomáhá modelovat pravidla pro databáze Sybase IQ ve vztahu k VLDM option Definovat vrstvy uložení dat Definovat pravidla partitioningu a uchovávání dat v jednotlivých vrstvách Simulovat celkové náklady uložení a úspory při různých scénářích Generovat skripty pro data partitioning a přesun dat s nápovědou kdy skripty spouštět Administrovat skripty přes Sybase Central High Performance Near Line Historical Migrace informací (dat) v čase 33 Screenshot: Workspace Data Analytics IDE Modeling Plug-in (PowerDesigner v15.1) životní cyklus dat a nákladová analýza
Implementace Sybase IQ DWH pomocí PowerDesigner
Reverse Engineering OLTP Databáze PowerDesigner zajistí automatický reverse engineer zdrojové databáze (uživatelé, tabulky, view, indexy, integritní omezení, statistiky ) přes ODBC nebo JDBC
Reverse Engineering OLTP Databáze
GenerováníSybaseIQ fyzického datového modelu(pdm) Jednoduše lze vygenerovat nový PDM pro IQ na základě existujícího PDM OLTP databáze: V PDM OLTP databáze vybereme Tools>Generate Database Vybereme SybaseIQ jako typ RDBMS V Detail tab, vybereme Generate mappings Mezi těmito dvěma modely PoweDesigner automaticky vytvoří mapování na úrovni tabulek a jednotlivých sloupců. Na základě něho umí generovat skripty pro přenos dat mezi OLTP a Sybase IQ
Generování SybaseIQ DWH Vygenerujeme Sybase IQ datový sklad pomocí Database>Generate Database Přes ODBC/JDBC přímo do databáze Do sql skriptu
Přesun dat z OLTP databázedo SybaseIQ Tři základní metody pro přesun dat do Sybase IQ: Spouštění skriptů pro export dat z OLTP databáze do flat souborů a skriptů pro loaddat do Sybase IQ Spouštění insert location skriptů pro Sybase IQ Použít ETL produkt PowerDesigner 15 automatizuje první dvě metody PowerDesignerpoužívá pro generování těchto skriptůdata mapping
Generováníexportních skriptů a loadovacích skriptů pro Sybase IQ Exportní skripty exportují data z OLTP databáze do flat souborů Uživatel nakopíruje tyto soubory na stroj se Sybase IQ Loadovacískripty loadujídata z flatsouborů do Sybase IQ PowerDesigner Source Database IQ Export Script Load Script Uživatel <Default Flat files text> Copy the files <Default Flat files text>
Data Movement IQ V PDM pro IQ, vyberte Model>Extended Model Definitions Přidejte Data Movement IQ extended model definition
PoužitíMapping Editoru k ověření mapování mezi OLTP a IQ Vyberte Tools>Mapping Editor Definujte zdrojovou tabulku/sloupec pro cílovou tabulku/sloupec
Příklad exportních skriptů proase
Příklad exportních skriptů prooracle
Příklad exportních skriptů prodb2
Příkladloadovacích skriptů
Tvorba nového Sybase IQ DWH První cestou je tvorba Sybase IQ DWH z CDM Identifikace dat pro budoucí datový sklad Návrh konceptuálního datového modelu(cdm) Vygenerování fyzického datového modelu (PDM) pro Sybase IQ z CDM Definice mappingů z PDM zdrojové databáze do PDM Sybase IQ Specifikace transformací Definice indexů a join indexů Generování Sybase IQ DWH Generování skriptů pro export a load přenos dat Druhou cestou je tvorba Sybase IQ DWH přímo z OLTP databáze Revers engineering OLTP databáze PDM VyužitíMapping Editoru pro tvorbu IQ tabulek a sloupců ze zdrojových tabulek a sloupců Definice indexů a join indexů Generování Sybase IQ DWH Generování skriptů pro export a load přenos dat
IQ Akcelerátor Poweredby PowerDesigner
Plně automatizovaný Sybase IQ Akcelerátor
Otázky, prosím