PostgreSQL jako platforma pro DWH

Transkript

PostgreSQL jako platforma pro DWH
Prague PostgreSQL Developers Day 2011
PostgreSQL jako platforma
pro datové sklady
Vratislav Beneš
[email protected]
10.02.2011
Prague PostgreSQL Developers Day 2011
1. Co to jsou datové sklady?
2. Požadavky na datový sklady
3. Technické řešení datového skladu
4. PostgreSQL a datové sklady
5. Paralelní data
6. GridSQL vs MSSQL 2005
7. Funkce v PostgreSQL
8. PostgreSQL a Business
9. PostgreSQL vs MSSQL vs MySQL
10.02.2011
Prague PostgreSQL Developers Day 2011
Co to jsou datové sklady?
●
jsou kritickou součástí Business Intelligence
●
integrace veškerých data nutných k efektivnímu řízení firmy
●
veškerá data umístěná na jednom místě
●
snadno dostupná i pro rozdílné úrovně požadavků na detail
ERP
systémy
CRM
Docházka
MKG
mngm
osobní
E
T
L
DWH
SAL
planování
controlling
Banka
PRD
Výzkumy trhu
10.02.2011
prodejní
Prague PostgreSQL Developers Day 2011
Požadavky na datový sklad
Bill Inmon – datové sklady jsou:
●
subjektově orientované
●
integrované
●
zpětně neměnné
●
v čase se vyvíjející
Subjektově orientované – cílem je vytvořit takovou strukturu, která je snadno
srozumitelná pro koncového uživatele
Integrované – do datového skladu směřují různorodá data, která je třeba
sjednotit a vytvořit z nich logický celek
Zpětně neměnné – data nahraná do datového skladu by se měla prohlásit za
spolehlivá a neměnná
V čase se vyvíjející – data do DWH se nahrávají po přesně definovaných
časových intervalech (denně, týdenně, měsíčně ...)
10.02.2011
Prague PostgreSQL Developers Day 2011
Technické řešení datového skladu
●
Relační databáze
●
Velký objem dat (CZ: jednotky až stovky GB, mobilní operátoři/banky TB, USA: PB)
●
3. NF
●
Redundance je povolená a přínosná
čas
2009/3q
2009/4q
2010/1q
2010/2q
2010/3q
2010/4q
2011/1q
p200903
p200904
p201001
p201002
p201003
p201004
p201101
SATA
SAS (SCSI)
partitioning
SSD
tablespaces
přístupy
100%
čas
10.02.2011
Prague PostgreSQL Developers Day 2011
PostgreSQL a datové sklady
Požadavky na DBS
●
tablespaces
●
partitioning
●
bulk insert
●
škálovatelnost
●
paralelní zpracování
PostgreSQL 8.4 +
pg-pool
GridSQL
GridSQL
● EnterpriseDB
● Open source
● nic nesdílející cluster
● paralelní zpracování dotazu
● velké objemy dat
● vysoký výkon
● PostgreSQL jako backend
● - JDBC only
● http://sourceforge.net/projects/gridsql/
10.02.2011
Prague PostgreSQL Developers Day 2011
Paralelní data
27
23
21
16
13
12
7
5
1
Table a:
time_id
sales
partitions podle time_id
1
5
7
12
13
16
21
23
27
1-10
11-20
21-30
PostgreSQL
select sum(sales) from a
(1+5+7+12+13+16+21+23+27)|CPU0
10.02.2011
time_id
1
5
7
12
21
13
23
16
27
p1
p2
p3
GridSQL
select sum(sales) from p1 & select sum(sales)
from p2 & select sum(sales) from p3
(1+12+21)|CPU0 & (5+13+23)|CPU1 & (7+16+27)|CPU2
Prague PostgreSQL Developers Day 2011
GridSQL vs MSSQL 2005
Generování XLS reportů pro marketing
●
1 strana: 26 dotazů
ROLAP
●
●
●
report: 5 stran
●
reportů: 13
●
celkem: 1690 dotazů
●
faktová tabulka 32 046 794 záznamů
tabulky dimenzí celkem 5 266 záznamů
~10GB dat
MDX dotaz
with member [periods.monthly].[MAT-1] as '[periods.monthly].[MATval-1]'
member [periods.monthly].[MAT] as '[periods.monthly].[MATval]'
member [periods.monthly].[MAT Changes] as '(([periods.monthly].[MAT] / [periods.monthly].[MAT-1]) - 1.0)'
member [periods.monthly].[YTD] as '[periods.monthly].[YTDval]'
member [periods.monthly].[YTD-1] as '[periods.monthly].[YTDval-1]'
member [periods.monthly].[YTD Changes] as '(([periods.monthly].[YTD] / [periods.monthly].[YTD-1]) - 1.0)'
select NON EMPTY Union(Crossjoin({LastPeriods(13.0, ClosingPeriod([periods.monthly].[month]))}, {[Measures].[sales value]}), Crossjoin({[periods.monthly].
[MAT-1], [periods.monthly].[MAT], [periods.monthly].[MAT Changes], [periods.monthly].[YTD-1], [periods.monthly].[YTD], [periods.monthly].[YTD Changes]},
{[Measures].[sales value]})) ON COLUMNS,
NON EMPTY Order(Hierarchize(Union({[segment.segment].[All segment.segments]{segment_param}}, [segment.segment].[All segment.segments]
{segment_param}.Children)), ([periods.monthly].[MAT], [Measures].[sales value]), DESC) ON ROWS
from [fbel]
where [outlet type.outlet type].[All outlet type.outlet types].[Hypermarkets]
MSSQL 2005 - IBM 3500 – 2 x DC Xeon, 4GB RAM - Win 2003, 6 x SAS 15k RAID 10, MOLAP
jeden dotaz: ~90s => celkem: ~42.25h
Pentaho BI + GridSQL 2 - IBM 3650, QC Xeon, 16GB RAM, Fedora 13, PostreSQL 8.4.4, SSD,
ROLAP
jeden dotaz: ~12s => celkem: ~5.41h
10.02.2011
Prague PostgreSQL Developers Day 2011
Funkce v PostgreSQL
Statistika pomocí R-project
●
rozšíření základních statistických funkcí SQL
●
PL/R ( http://www.joeconway.com/plr/ )
select time_id, outlet_id, maxfreq(price) from pricing.price_data group by time_id, outlet_id
10.02.2011
Prague PostgreSQL Developers Day 2011
Funkce v PostgreSQL
Neuronové sítě jako modelovací nástroj
●
predikce, klasifikace ...
●
BPNN (Back Propagation Neural Network)
●
nelineární závislosti
●
vybavování sítě jako funkce v C volaná z SQL
Predikce vývoje kurzu CZK/EURO na den dopředu
10.02.2011
Prague PostgreSQL Developers Day 2011
PostgreSQL a business
Náš zákazník požaduje
● řešení
● podporu
● funkční systém,
systém který řeší jeho problémy
● minimalizovat dodatečné požadavky na jeho IT
● adekvátní cenu k výslednému efektu
Náš zákazník nepožaduje
● silnou značku
● technické složitosti
● Nechce nic mít společného s IT
Kde vidíme prostor pro PostgreSQL
● střední firmy
● oddělení velkých firem
● specifické zařízení
● vysoký výkon vs nízké rozpočty
● clustery
● SaaS
10.02.2011
Prague PostgreSQL Developers Day 2011
PostgreSQL vs MSSQL vs MySQL
MSSQL
● vynikající DB
● propracované nástroje
● velká obliba firem
● silná značka
● odstraněný limit na RAM
● Business Intelligence v ceně
● licence na CPU
● partitions až od verze Enterprise
● MS Windows only
MySQL
● masivně rošířená DB
● “kde kdo ji umí”
● Oracle ?
PostgreSQL
● vynikající DB
● GridSQL, pg-pool
● EnterpriseDB support
● ohebná a rozšiřitelná (podpora GPU apd)
● platformě nezávislá
10.02.2011
vs
Prague PostgreSQL Developers Day 2011
Otázky
10.02.2011
Prague PostgreSQL Developers Day 2011
Děkuji za pozornost
Vratislav Beneš
[email protected]
10.02.2011

Podobné dokumenty

Markstrat

Markstrat Tlačítko Undo lze rovněž použít, jestliže chcete odstranit provedené změny pomocí tlačítka Modification. Vyberte modifikovanou značku a klikněte na tlačítko Undo – tím dojde k vrácení projektu, kte...

Více

GridSQL a pg-pool II

GridSQL a pg-pool II 2. pg-pool II 1. Infrastrukutra 2. Využití pro datové sklady 3. GridSQL 1. Infrastuktura 2. Vytvoření DB a tabulek 3. Nahrávání dat 4. Test výkonosti 5. Přednosti a slabiny 4. Závěrečné shrnutí

Více

Statistika v PostgreSQL pomocí R-project

Statistika v PostgreSQL pomocí R-project Prague PostgreSQL Developers Day 2012

Více

Resumé / Summaries

Resumé / Summaries fyziky na pražské polytechnice) rozhodlo dobrozdání, které si ohledně návrhu předloženého profesorským kolegiem filozofické fakulty pražské univerzity vyžádalo Staats-Ministerium, Abteilung für Cul...

Více

slajdy - Sorry

slajdy - Sorry Získávání znalostí zpřesňování a zjemňování již existujících znalostí (knowledge

Více

Ladění konfigurace IDS pomocí open source „tpmC like“

Ladění konfigurace IDS pomocí open source „tpmC like“ – Optimální rozložení databázových prostorů a velikost buffer cache – Minimalizace režie checkpointů (velikost fyzického a logického žurnálu

Více

Upgrade SAP Solution Manager

Upgrade SAP Solution Manager • Nasazení do produktivního provozu na přelomu roku

Více