1 / 19

Netezza – to pravé řešení pro analytický datový sklad – technický pohled na řešení Martin Pavlík

Netezza – to pravé řešení pro analytický datový sklad – technický pohled na řešení Martin Pavlík 23. Listopadu 2011. Masivní paralelní architektura “ Rozděl a panuj ”. MPP architektura Koncept “Shared Nothing” Rozdělení práce na několik menších úloh

Download Presentation

Netezza – to pravé řešení pro analytický datový sklad – technický pohled na řešení Martin Pavlík

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Netezza – to pravé řešení pro analytický datový sklad – technický pohled na řešení Martin Pavlík 23. Listopadu 2011

  2. Masivní paralelní architektura“Rozděl a panuj” • MPP architektura • Koncept “Shared Nothing” • Rozdělení práce na několik menších úloh • Velká úloha je rozdělena vertikálně do série menších úloh • Menší úlohy běží paralelně / naprosto nezávisle • Pro každou menší úlohu je přiděleno stejné množství fyzických zdrojů • Komunikace mezi jednotlivými úlohami je jen na začátku a konci • Přínosy • Obrovské úlohy jsou vykonány ve významně kratším čase • Maximální využitelnost zdrojů

  3. ODBC 3.X JDBC Type 4 OLE-DB SQL/92 Client ETL Server DBA CLI Source Systems SOLARIS AIX 3rd PartyApps HP-UX TRU64 LINUX WINDOWS High Performance Loader Netezza TwinFin Appliance S-Blade 1 Processor & streaming DB logic SQL Compiler Query Plan Optimize Admin 2 S-Blade Execution Engine Processor & streaming DB logic S-Blade 3 Processor & streaming DB logic Ÿ Ÿ Ÿ High-PerformanceDatabase Engine Streaming joins, aggregations, sorts High-Speed Loader/Unloader 920 S-Blade Front End Processor & streaming DB logic Massively Parallel Intelligent Storage Network Fabric SMP Host

  4. Client ETL Server DBA CLI Source Systems SOLARIS AIX 3rd PartyApps HP-UX TRU64 LINUX WINDOWS High Performance Loader Netezza TwinFin Appliance S-Blade 1 Snippets Processor & streaming DB logic SQL Compiler Query Plan Optimize Admin 3 2 1 1 1 1 1 2 2 2 2 3 3 3 3 1 2 3 SQL SQL 2 S-Blade Execution Engine Processor & streaming DB logic S-Blade 3 Processor & streaming DB logic Ÿ Ÿ Ÿ High-PerformanceDatabase Engine Streaming joins, aggregations, sorts High-Speed Loader/Unloader 920 S-Blade Front End Processor & streaming DB logic Massively Parallel Intelligent Storage Network Fabric SMP Host

  5. Zpracování toku dat jednotkou S-Blade DatováCache Jádro (Core) FPGA Jádro CPU Selekce, Autorizace Komplexní ∑ Joiny, Aggr, atd. Dekomprese dat Projekce Select sex, age, count(*) From MultiBillionRowTable Where BirthDate < ’01/01/1967’ And PostCode like ’SW%’ Group by sex, age; • Každý S-Blade obsahuje 8 n-tic s vlastním: • Diskem • Datovou cache • Jádrem FPGA jednotky • Jádrem CPU

  6. Client ETL Server DBA CLI Source Systems SOLARIS AIX 3rd PartyApps HP-UX TRU64 LINUX WINDOWS High Performance Loader Asymmetric Massively Parallel Processing™ Netezza TwinFin Appliance Consolidate S-Blade 1 1 2 3 1 1 1 2 2 2 3 3 3 Processor & streaming DB logic SQL Compiler Query Plan Optimize Admin ODBC 3.X JDBC Type 4 OLE-DB SQL/92 2 S-Blade Execution Engine Processor & streaming DB logic S-Blade 3 Processor & streaming DB logic Ÿ Ÿ Ÿ High-PerformanceDatabase Engine Streaming joins, aggregations, sorts, etc. High-Speed Loader/Unloader 920 S-Blade Front End Processor & streaming DB logic Massively Parallel Intelligent Storage Network Fabric SMP Host

  7. Specifikace IBM Netezza 1000-12 Kapacita (uživatelská data): 128 TB Scan rate: 144 TB/h Load Speed: 0.5 TB/h Počítáme s kompresním poměrem 1:4

  8. S-Blade / SPU / Snippet Processing Unit

  9. Propojení S-Blades a disků Níže uvedené údaje platí pro half-rack systém IBM Netezza 1000-6, který má 6 S-Blades • 5 ze 6 S-Blades vlastní 8 disků • Každý S-Blade má v sobě: • 8 jader CPU • 8 jader FPGA • => CPU:FPGA:disk je 1:1:1 • 6. S-Blade vlastní pouze 6 disků • 2 jádra CPU a FPGAjsounevyužitá • Protože 2 disky zůstavají volné do zálohy

  10. Disk mirroring & řešení výpadku disku • V systému jsou použity 1TB disky • Ty jsou rozděleny na 1/3 • Všechna uživatelská data jsou replikována z Primary do Mirror oblasti • Výpadek disku je transparentní pro uživatelské dotazy • Na Spare (volný) disk jsou automaticky zreplikovaná data„nemocného“ disku • S využitím odpovídajícího disku z páru (jen se otočí Primary a Mirror oblasti)

  11. Řešení výpadku jednotky S-Blade • Disky, které patřily „nemocné“ jednotce S-Blade jsou rovnoměrně rozdistribuovány zbývajícím jednotkám S-Blade • Read-only dotazy jsou automaticky restartovány • Všechny zápisové operace jsou přerušeny, označeny jako aborted a spustí se znovu od místa posledního checkpointu

  12. Distribuce dat a její dopad na výkonnost • Data jsou na jednotlivé disky (a potažmo tedy i jádra CPU a FPGA) distribuována pomocí hashování dle tzv. distribučního klíče • Rovnoměrná distribuce je základem vysoké výkonnosti • Implicitní distribuce je RANDOM

  13. Využití tzv. zónových map • Data jsou na disk ukládána po tzv. extentech • Má velikost 3 MB • Pro sloupce tabulek jsou udržovány tzv. zónové mapy • Udržují informace o minimální a maximální hodnotě v daném extentu

  14. Jak mohouzónové mapy omezit čtení z disku Cust_ID = 300 Ext 1 Vysoká selektivita je především u tabulek, které jsou setřízené podle atributu z where klauzule Ext 3

  15. Clustered Based Tables a jejich přínos • Jsou řešením pro časté situace, kdy se v … • Ve WHERE klauzulích • V JOINech … • … používá více než 1 atribut Data jsou v tabulce seřazena dle křivky vyplňující Hilbertův prostor 8 hodnot 2 hodnoty 4 hodnoty …. 2 atributy …. 3 atributy

  16. Clustered Base Tables – ilustrační příklad 1 2 3 4 A B C D Myšlenka tzv. Clustered base tables je založena na křivce vyplňující hilbertův prostor

  17. Implicitní výkonnost je vysoká Zónové mapy Clustered Base Tables Distribuční klíče Koncepty, které posouvají výkonnost ještě o kus dál Výkonnost systému je extrémně vysoká i bez nich Masivní paralelismus a FPGA

  18. Realizace transakcí v Netezze sloupce Záznam je INSERTován Původní záznam je označen jako smazaný Záznam je UPDATEován Do tabulky je vložen nový záznam Záznam je DELETEován I „změněný“ záznam je označen jako smazaný

  19. Děkuji za pozornost

More Related