SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
PostgreSQL - Hadoop: Why not?
Matteo Durighetto
Italian PostgreSQL Users Group
www.itpug.org
www.postgresql.org
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Chi sono?
● Speaker/Author:
○ Matteo Durighetto
○ DBA @ Miriade S.p.A.
○ Tecnologie db: Oracle, PostgreSQL, MySQL, MSSQL
○ Tecnologie nosql: Redis, Hadoop, SolrCloud
○ Tecnologie os/virtual/cloud: AWS, Vmware,XEN, Linux, *NIX,
Windows
○ Membro e Presidente ITPUG
○ Cloudera Certified Administrator for Apache Hadoop
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
WHOAMI:
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
INDEX
● Casi d'uso dell'offloading / integration
● Architettura
● Metodologie di porting del dato da PostgreSQL
ad Hadoop
● Fdw per rendere trasparente l'estensione della
base dati postgres con quella Hadoop
● hue -> postgresql
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
In genere nei sistemi odierni abbiamo almeno due aree di dati :
● OLTP : area “leggera” per gestire dati real-time
● DWH : area di analisi di correlazioni già conosciute
Con Il tipico passaggio OLTP ==> DWH
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Casi d’uso dell’offloading
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Col tempo si sono posti due tipi di problemi nei sistemi informativi:
● OLTP: crescita per mancanza di offloading di tutto il dato verso il
DWH, e in genere comporta un abbassamento dei tempi di
risposta.
● DWH: ci permette di analizzare dati di conosciamo già le
correlazioni. Inoltre le analisi di solito sono limitate
temporalmente.
In più a livello costi ci si è trovati a:
● Costi maggiori per immagazzinamento su SAN/NFS ( mitigati da
differenti tier di dischi, ma comunque alti )
● Costi maggiori per scale up del server singolo.
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Casi d’uso dell’offloading
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Da queste premesse nasce l’idea di un’area ulteriore, destrutturata o
in parte strutturata che abbia scale up e ci permetta di ridurre i costi:
Data Lake: area di offloading del dato ( OLTP / DWH ) e
storicizzazione, interrogabile e basato su architettura scale out
orizzontale. Ideale Schema on Read e non più Schema on Write.
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Casi d’uso dell’offloading
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
PostgreSQL tipicamente viene deployato su 3 tipologie di architetture:
● Cloud/Virtuale [ con SAN ]
● SAN
● Dischi interni
L’ultima architettura per scalare, tipicamente si affida allo sharding
applicativo o vi sono tentativi con PostgreSQL-XL o Citus ( ex-
pg_shard ) di scaling orizzontale.
Tuttavia soluzioni come Citus e PostgreSQL-XL sono più adatte a far
scalare OLTP o DWH, che per un Data Lake.
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Casi d’uso dell’offloading
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
PostgreSQL - Hadoop
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Architettura
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
immagine da : http://www.bigsql.org/hadoopfdw/
Chi sono?
What Is Apache Hadoop?
The Apache™ Hadoop® project develops open-source software for reliable, scalable,
distributed computing.
The Apache Hadoop software library is a framework that allows for the distributed
processing of large data sets across clusters of computers using simple programming
models. It is designed to scale up from single servers to thousands of machines, each
offering local computation and storage. Rather than rely on hardware to deliver
high-availability, the library itself is designed to detect and handle failures at the application
layer, so delivering a highly-available service on top of a cluster of computers, each of
which may be prone to failures.
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Architettura
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Ecosistema Hadoop
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Architettura
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
immagine da : http://www.cloudera.com
Chi sono?
Hadoop Yarn
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Architettura
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Immagine da : hadoop.apache.org
Chi sono?
HDFS
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Architettura
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Immagine da : hadoop.apache.org
Chi sono?
Il porting può avvenire in vari modi :
● Applicativo
● ETL ( kettle )
● Sqoop2
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Metodologie di porting
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Sqoop :
Installare driver sul nodo Hadoop con Sqoop:
wget http://jdbc.postgresql.org/download/postgresql-9.2-1002.jdbc4.jar
cp postgresql-9.2-1002.jdbc4.jar /var/lib/sqoop/
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Metodologie di porting
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Sqoop :
Importiamo sulla quickstart.cloudera (hadoop) la tabella orders dal
database testfdw con l’utente test :
sqoop import --table orders -m 1 --connect
jdbc:postgresql://10.193.1.3:5432/testfdw --username=test
--password=test --compression-codec=snappy --as-parquetfile
--warehouse-dir=/user/hive/warehouse --hive-import
Tra le opzioni c’è anche il --direct che accelera la modalità di
estrazione, e il “-m” che indica il livello di parallelismo.
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Metodologie di porting
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Sqoop :
Sqoop supporta delle modalità incrementali :
--check-column ==> colonna incrementante ( tipo timestamp )
--last-value ==> ultimo valore importato
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Metodologie di porting
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Progetto fdw
Tra i vari progetti, il più interessante è quello di BiSQL :
https://bitbucket.org/openscg/hadoop_fdw
Si può installare o partendo dalla compilazione:
https://github.com/EnterpriseDB/hdfs_fdw/blob/master/INSTALL
o in maniera più semplice
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Fdw postgres
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Progetto fdw
Nei prossimi passi si comporrà un sistema :
● Postgresql Server ( debian base )
● Quick Start Cloudera 5.5 (
http://www.cloudera.com/downloads/quickstart_vms/5-8.html )
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Fdw postgres
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Installazione Postgresql + fdw semplificata ( con distro bigsql ) :
python -c "$(curl -fsSL http://s3.amazonaws.com/pgcentral/install.py)"
cd bigsql
./pgc install pg96
./pgc install hadoop_fdw2-pg96
./pgc install java8
./pgc start pg96
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Fdw postgres
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Recuperare le java class di hadoop dal server hadoop
quickstart.cloudera :
/usr/lib/hadoop/hadoop-common-2.6.0-cdh5.5.0.jar
/usr/lib/hive/lib/hive-jdbc-1.1.0-cdh5.5.0-standalone.jar
Come root sul postgres definire una directory dove piazzare le classi
hadoop:
mkdir -p /opt/hadoop/hive-client-lib
scp root@quickstart.cloudera:/usr/lib/hadoop/hadoop-common-2.6.0-cdh5.5.0.jar
/opt/hadoop/hive-client-lib/
scp root@quickstart.cloudera:/usr/lib/hive/lib/hive-jdbc-1.1.0-cdh5.5.0-standalone.jar
/opt/hadoop/hive-client-lib/
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Fdw postgres
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Verifica se ci colleghiamo ad hive con il codice di prova ripotarto in :
https://bitbucket.org/openscg/hadoop_fdw
Linkare le librerie sul server postgres libjvm.so sotto la pg lib :
cd $HOME/bigsql/pg96/lib
ln -s $HOME/bigsql/java8/jre/lib/amd64/server/libjvm.so libjvm.so
cd $HOME/bigsql/pg96/lib/postgresql
ln -s $HOME/bigsql/java8/jre/lib/amd64/server/libjvm.so libjvm.so
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Fdw postgres
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Modificare il .bashrc dell’utete postgres aggiungendo (:
##hadoop fdw jar class path
export
HADOOP_FDW_CLASSPATH=~/bigsql/pg96/lib/postgresql/Hadoop_
FDW.jar:$(echo /opt/hadoop/hive-client-lib/*.jar | tr ' ' :)
###library path
export
LD_LIBRARY_PATH=~/bigsql/pg96/lib/postgresql:~/bigsql/pg96/lib:$L
D_LIBRARY_PATH
Riapriamo una sessione e facciamo ripartire il postgres
cd ~/bigsql
./pgc stop pg96
./pgc start pg96
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Fdw postgres
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Creare fdw :
cd $HOME/pg96/
##carico enviroment :
. pg96.env
psql -U postgres
psql (9.6.1)
Type "help" for help.
postgres=# create database testfdw ;
postgres=# c testfdw
You are now connected to database "testfdw" as user "postgres".
testfdw=# create extension hadoop_fdw;
CREATE EXTENSION
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Fdw postgres
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Test estensione (verso tabella orders creata con sqoop):
CREATE SERVER hive_server FOREIGN DATA WRAPPER
hadoop_fdw
OPTIONS (HOST 'quickstart.cloudera', PORT '10000');
CREATE USER MAPPING FOR PUBLIC SERVER hive_server;
CREATE FOREIGN TABLE hdp_orders (
order_id INT,
order_date BIGINT,
order_customer_id INT,
order_status TEXT
) SERVER hive_server OPTIONS ( TABLE 'orders');
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Fdw postgres
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Test estensione :
select count(*) from hdp_orders ;
count
-------
68883
(1 row)
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Fdw postgres
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Spazio a confronto :
PostgreSQL :
Hadoop Parquet :
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Fdw postgres
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Spazio a confronto :
Fr=fattore resilienza
Pg : 4,2Mb x FRpg = 4.2Mb*1.3 ~ 5,5Mb
Hdp : 0,476xFRhdp = 0,476*3 ~ 1,5MB
Quindi con compressione minima ( snappy ) applicata al formato
Parquet, abbiamo circa un fattore di saving tra le 3 e 4 volte.
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Fdw postgres
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Si può inoltre abilitare l’interfaccia HUE (
http://quickstart.cloudera:8888 ) a puntare nativamente anche al
motore rdbms :
yum install postgresql-devel gcc python-devel
sudo -u hue /usr/lib/hue/build/env/bin/pip install setuptools
sudo -u hue /usr/lib/hue/build/env/bin/pip install psycopg2
modificare hue.ini ( dal cloduera manager o a mano ) :
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Hue - PostgreSQL
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
[librdbms]
[[databases]]
[[[postgresql]]]
# Name to show in the UI.
nice_name="testfdw"
name=testfdw
engine=postgresql
host=<postgresql_ip>
port=5432
user=test
password=test
Poi restart hue
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Hue - PostgreSQL
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Chi sono?
Hue : avrete nel tab del query editor anche il db postgres!
Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
Hue - PostgreSQL
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016
Attribuzione
Non commerciale
Condividi allo stesso modo
3.0 Italia
https://creativecommons.org/licenses/by-nc-sa/3.0/it/
Copyright 2016 Miriade S.p.A. - http://www.miriade.it
Copyright 2012 Miriade S.p.a.
Grazie per l'attenzione
Copyright 2012 Miriade S.p.a.
Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
License
PGDay.IT 2016
Camera di Commercio di Prato
Martedì 13 Dicembre 2016

Weitere ähnliche Inhalte

Andere mochten auch

Business Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsiBusiness Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsi
SMAU
 
Business Intelligence & Big Data per il Retail
Business Intelligence & Big Data per il RetailBusiness Intelligence & Big Data per il Retail
Business Intelligence & Big Data per il Retail
Roberto Butinar
 

Andere mochten auch (9)

Oss. Big Data Analytics
Oss. Big Data AnalyticsOss. Big Data Analytics
Oss. Big Data Analytics
 
Dalla Business Intelligence ai Big Data
Dalla Business Intelligence ai Big DataDalla Business Intelligence ai Big Data
Dalla Business Intelligence ai Big Data
 
Big Data - "La rivoluzione dell'informazione"
Big Data - "La rivoluzione dell'informazione"Big Data - "La rivoluzione dell'informazione"
Big Data - "La rivoluzione dell'informazione"
 
Big Data: Analisi del Sentiment
Big Data: Analisi del SentimentBig Data: Analisi del Sentiment
Big Data: Analisi del Sentiment
 
FANTIN BIG DATA (1)
FANTIN BIG DATA (1)FANTIN BIG DATA (1)
FANTIN BIG DATA (1)
 
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsiBusiness Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsi
 
Introduzione ai Big Data e alla scienza dei dati
Introduzione ai Big Data e alla scienza dei datiIntroduzione ai Big Data e alla scienza dei dati
Introduzione ai Big Data e alla scienza dei dati
 
Business Intelligence & Big Data per il Retail
Business Intelligence & Big Data per il RetailBusiness Intelligence & Big Data per il Retail
Business Intelligence & Big Data per il Retail
 
Big Data & Data Mining
Big Data  & Data MiningBig Data  & Data Mining
Big Data & Data Mining
 

Ähnlich wie PostgreSQL - Hadoop: Why not? - PGDay.IT 2016

Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...
Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...
Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...
jekil
 

Ähnlich wie PostgreSQL - Hadoop: Why not? - PGDay.IT 2016 (20)

Google Dev Fest 2016 - Roma
Google Dev Fest 2016 - RomaGoogle Dev Fest 2016 - Roma
Google Dev Fest 2016 - Roma
 
Hadoop - Introduzione all’architettura ed approcci applicativi
Hadoop - Introduzione all’architettura ed approcci applicativiHadoop - Introduzione all’architettura ed approcci applicativi
Hadoop - Introduzione all’architettura ed approcci applicativi
 
Matteo baccan raspberry pi - linox 2015 - corso parte 1
Matteo baccan   raspberry pi - linox 2015 - corso parte 1Matteo baccan   raspberry pi - linox 2015 - corso parte 1
Matteo baccan raspberry pi - linox 2015 - corso parte 1
 
Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...
Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...
Android Introduzione All Architettura Programmazione Sicurezza Serate A Tema ...
 
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
 
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterCodemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
 
Personal Cloud
Personal CloudPersonal Cloud
Personal Cloud
 
Drupal in the Cloud
Drupal in the CloudDrupal in the Cloud
Drupal in the Cloud
 
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileGlusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
 
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileGlusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
 
Appunti di big data
Appunti di big dataAppunti di big data
Appunti di big data
 
La mia nuvola in azienda o a casa
La mia nuvola in azienda o a casaLa mia nuvola in azienda o a casa
La mia nuvola in azienda o a casa
 
IoT e Big Data: architetture Cloud Open Source (Giu. 2016)
IoT e Big Data: architetture Cloud Open Source (Giu. 2016)IoT e Big Data: architetture Cloud Open Source (Giu. 2016)
IoT e Big Data: architetture Cloud Open Source (Giu. 2016)
 
Elk - Elasticsearch Logstash Kibana stack explained
Elk - Elasticsearch Logstash Kibana stack explainedElk - Elasticsearch Logstash Kibana stack explained
Elk - Elasticsearch Logstash Kibana stack explained
 
What is cloud - presentazione open day 13 set 2014 | autore Prof. Lorenzo Zimolo
What is cloud - presentazione open day 13 set 2014 | autore Prof. Lorenzo ZimoloWhat is cloud - presentazione open day 13 set 2014 | autore Prof. Lorenzo Zimolo
What is cloud - presentazione open day 13 set 2014 | autore Prof. Lorenzo Zimolo
 
Esame di Stato: idee Hardware e Software
Esame di Stato: idee Hardware e SoftwareEsame di Stato: idee Hardware e Software
Esame di Stato: idee Hardware e Software
 
Performance e Drupal
Performance e DrupalPerformance e Drupal
Performance e Drupal
 
Spago BI
Spago BISpago BI
Spago BI
 
PostgrSQL 9.3&9.4 - DjangoVillage
PostgrSQL 9.3&9.4 - DjangoVillagePostgrSQL 9.3&9.4 - DjangoVillage
PostgrSQL 9.3&9.4 - DjangoVillage
 
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
 

Mehr von Miriade Spa

Aerohive Networks e ZScaler, le soluzioni tecnologiche per il nuovo ecosistem...
Aerohive Networks e ZScaler, le soluzioni tecnologiche per il nuovo ecosistem...Aerohive Networks e ZScaler, le soluzioni tecnologiche per il nuovo ecosistem...
Aerohive Networks e ZScaler, le soluzioni tecnologiche per il nuovo ecosistem...
Miriade Spa
 
Confio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoConfio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo Durighetto
Miriade Spa
 

Mehr von Miriade Spa (13)

Iperconvergenza: Nutanix e la rivoluzione dei datacenter
Iperconvergenza: Nutanix e la rivoluzione dei datacenterIperconvergenza: Nutanix e la rivoluzione dei datacenter
Iperconvergenza: Nutanix e la rivoluzione dei datacenter
 
Quanto è digitale la tua azienda?
Quanto è digitale la tua azienda?Quanto è digitale la tua azienda?
Quanto è digitale la tua azienda?
 
Big Data | Gdo e Social Media
Big Data | Gdo e Social MediaBig Data | Gdo e Social Media
Big Data | Gdo e Social Media
 
Big Data e Manifatturiero: gestione del magazzino
Big Data e Manifatturiero: gestione del magazzinoBig Data e Manifatturiero: gestione del magazzino
Big Data e Manifatturiero: gestione del magazzino
 
Application Development: come sviluppare un'app user centered
Application Development: come sviluppare un'app user centeredApplication Development: come sviluppare un'app user centered
Application Development: come sviluppare un'app user centered
 
System integration - I servizi Miriade
System integration - I servizi MiriadeSystem integration - I servizi Miriade
System integration - I servizi Miriade
 
Webinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
Webinar: "Conosci la Performance Intelligence?" a cura d A. SzambelanWebinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
Webinar: "Conosci la Performance Intelligence?" a cura d A. Szambelan
 
Full text search | Speech by Matteo Durighetto | PGDay.IT 2013
Full text search | Speech by Matteo Durighetto | PGDay.IT 2013 Full text search | Speech by Matteo Durighetto | PGDay.IT 2013
Full text search | Speech by Matteo Durighetto | PGDay.IT 2013
 
Webinar | Google I/O e le novità di Google Apps | 27 Giugno 2013 | Miriade SpA
Webinar | Google I/O e le novità di Google Apps | 27 Giugno 2013 | Miriade SpAWebinar | Google I/O e le novità di Google Apps | 27 Giugno 2013 | Miriade SpA
Webinar | Google I/O e le novità di Google Apps | 27 Giugno 2013 | Miriade SpA
 
Aerohive Networks e ZScaler, le soluzioni tecnologiche per il nuovo ecosistem...
Aerohive Networks e ZScaler, le soluzioni tecnologiche per il nuovo ecosistem...Aerohive Networks e ZScaler, le soluzioni tecnologiche per il nuovo ecosistem...
Aerohive Networks e ZScaler, le soluzioni tecnologiche per il nuovo ecosistem...
 
Confio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoConfio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo Durighetto
 
Oracle Apex - Presentazione
Oracle Apex - PresentazioneOracle Apex - Presentazione
Oracle Apex - Presentazione
 
PostgreSQL in HA per Healthcare
PostgreSQL in HA per HealthcarePostgreSQL in HA per Healthcare
PostgreSQL in HA per Healthcare
 

PostgreSQL - Hadoop: Why not? - PGDay.IT 2016

  • 1. PostgreSQL - Hadoop: Why not? Matteo Durighetto Italian PostgreSQL Users Group www.itpug.org www.postgresql.org PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016 Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org
  • 2. Chi sono? ● Speaker/Author: ○ Matteo Durighetto ○ DBA @ Miriade S.p.A. ○ Tecnologie db: Oracle, PostgreSQL, MySQL, MSSQL ○ Tecnologie nosql: Redis, Hadoop, SolrCloud ○ Tecnologie os/virtual/cloud: AWS, Vmware,XEN, Linux, *NIX, Windows ○ Membro e Presidente ITPUG ○ Cloudera Certified Administrator for Apache Hadoop Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org WHOAMI: PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 3. Chi sono? Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org INDEX ● Casi d'uso dell'offloading / integration ● Architettura ● Metodologie di porting del dato da PostgreSQL ad Hadoop ● Fdw per rendere trasparente l'estensione della base dati postgres con quella Hadoop ● hue -> postgresql PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 4. Chi sono? In genere nei sistemi odierni abbiamo almeno due aree di dati : ● OLTP : area “leggera” per gestire dati real-time ● DWH : area di analisi di correlazioni già conosciute Con Il tipico passaggio OLTP ==> DWH Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Casi d’uso dell’offloading PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 5. Chi sono? Col tempo si sono posti due tipi di problemi nei sistemi informativi: ● OLTP: crescita per mancanza di offloading di tutto il dato verso il DWH, e in genere comporta un abbassamento dei tempi di risposta. ● DWH: ci permette di analizzare dati di conosciamo già le correlazioni. Inoltre le analisi di solito sono limitate temporalmente. In più a livello costi ci si è trovati a: ● Costi maggiori per immagazzinamento su SAN/NFS ( mitigati da differenti tier di dischi, ma comunque alti ) ● Costi maggiori per scale up del server singolo. Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Casi d’uso dell’offloading PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 6. Chi sono? Da queste premesse nasce l’idea di un’area ulteriore, destrutturata o in parte strutturata che abbia scale up e ci permetta di ridurre i costi: Data Lake: area di offloading del dato ( OLTP / DWH ) e storicizzazione, interrogabile e basato su architettura scale out orizzontale. Ideale Schema on Read e non più Schema on Write. Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Casi d’uso dell’offloading PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 7. Chi sono? PostgreSQL tipicamente viene deployato su 3 tipologie di architetture: ● Cloud/Virtuale [ con SAN ] ● SAN ● Dischi interni L’ultima architettura per scalare, tipicamente si affida allo sharding applicativo o vi sono tentativi con PostgreSQL-XL o Citus ( ex- pg_shard ) di scaling orizzontale. Tuttavia soluzioni come Citus e PostgreSQL-XL sono più adatte a far scalare OLTP o DWH, che per un Data Lake. Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Casi d’uso dell’offloading PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 8. Chi sono? PostgreSQL - Hadoop Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Architettura PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016 immagine da : http://www.bigsql.org/hadoopfdw/
  • 9. Chi sono? What Is Apache Hadoop? The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing. The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures. Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Architettura PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 10. Chi sono? Ecosistema Hadoop Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Architettura PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016 immagine da : http://www.cloudera.com
  • 11. Chi sono? Hadoop Yarn Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Architettura PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016 Immagine da : hadoop.apache.org
  • 12. Chi sono? HDFS Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Architettura PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016 Immagine da : hadoop.apache.org
  • 13. Chi sono? Il porting può avvenire in vari modi : ● Applicativo ● ETL ( kettle ) ● Sqoop2 Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Metodologie di porting PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 14. Chi sono? Sqoop : Installare driver sul nodo Hadoop con Sqoop: wget http://jdbc.postgresql.org/download/postgresql-9.2-1002.jdbc4.jar cp postgresql-9.2-1002.jdbc4.jar /var/lib/sqoop/ Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Metodologie di porting PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 15. Chi sono? Sqoop : Importiamo sulla quickstart.cloudera (hadoop) la tabella orders dal database testfdw con l’utente test : sqoop import --table orders -m 1 --connect jdbc:postgresql://10.193.1.3:5432/testfdw --username=test --password=test --compression-codec=snappy --as-parquetfile --warehouse-dir=/user/hive/warehouse --hive-import Tra le opzioni c’è anche il --direct che accelera la modalità di estrazione, e il “-m” che indica il livello di parallelismo. Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Metodologie di porting PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 16. Chi sono? Sqoop : Sqoop supporta delle modalità incrementali : --check-column ==> colonna incrementante ( tipo timestamp ) --last-value ==> ultimo valore importato Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Metodologie di porting PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 17. Chi sono? Progetto fdw Tra i vari progetti, il più interessante è quello di BiSQL : https://bitbucket.org/openscg/hadoop_fdw Si può installare o partendo dalla compilazione: https://github.com/EnterpriseDB/hdfs_fdw/blob/master/INSTALL o in maniera più semplice Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Fdw postgres PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 18. Chi sono? Progetto fdw Nei prossimi passi si comporrà un sistema : ● Postgresql Server ( debian base ) ● Quick Start Cloudera 5.5 ( http://www.cloudera.com/downloads/quickstart_vms/5-8.html ) Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Fdw postgres PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 19. Chi sono? Installazione Postgresql + fdw semplificata ( con distro bigsql ) : python -c "$(curl -fsSL http://s3.amazonaws.com/pgcentral/install.py)" cd bigsql ./pgc install pg96 ./pgc install hadoop_fdw2-pg96 ./pgc install java8 ./pgc start pg96 Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Fdw postgres PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 20. Chi sono? Recuperare le java class di hadoop dal server hadoop quickstart.cloudera : /usr/lib/hadoop/hadoop-common-2.6.0-cdh5.5.0.jar /usr/lib/hive/lib/hive-jdbc-1.1.0-cdh5.5.0-standalone.jar Come root sul postgres definire una directory dove piazzare le classi hadoop: mkdir -p /opt/hadoop/hive-client-lib scp root@quickstart.cloudera:/usr/lib/hadoop/hadoop-common-2.6.0-cdh5.5.0.jar /opt/hadoop/hive-client-lib/ scp root@quickstart.cloudera:/usr/lib/hive/lib/hive-jdbc-1.1.0-cdh5.5.0-standalone.jar /opt/hadoop/hive-client-lib/ Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Fdw postgres PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 21. Chi sono? Verifica se ci colleghiamo ad hive con il codice di prova ripotarto in : https://bitbucket.org/openscg/hadoop_fdw Linkare le librerie sul server postgres libjvm.so sotto la pg lib : cd $HOME/bigsql/pg96/lib ln -s $HOME/bigsql/java8/jre/lib/amd64/server/libjvm.so libjvm.so cd $HOME/bigsql/pg96/lib/postgresql ln -s $HOME/bigsql/java8/jre/lib/amd64/server/libjvm.so libjvm.so Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Fdw postgres PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 22. Chi sono? Modificare il .bashrc dell’utete postgres aggiungendo (: ##hadoop fdw jar class path export HADOOP_FDW_CLASSPATH=~/bigsql/pg96/lib/postgresql/Hadoop_ FDW.jar:$(echo /opt/hadoop/hive-client-lib/*.jar | tr ' ' :) ###library path export LD_LIBRARY_PATH=~/bigsql/pg96/lib/postgresql:~/bigsql/pg96/lib:$L D_LIBRARY_PATH Riapriamo una sessione e facciamo ripartire il postgres cd ~/bigsql ./pgc stop pg96 ./pgc start pg96 Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Fdw postgres PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 23. Chi sono? Creare fdw : cd $HOME/pg96/ ##carico enviroment : . pg96.env psql -U postgres psql (9.6.1) Type "help" for help. postgres=# create database testfdw ; postgres=# c testfdw You are now connected to database "testfdw" as user "postgres". testfdw=# create extension hadoop_fdw; CREATE EXTENSION Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Fdw postgres PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 24. Chi sono? Test estensione (verso tabella orders creata con sqoop): CREATE SERVER hive_server FOREIGN DATA WRAPPER hadoop_fdw OPTIONS (HOST 'quickstart.cloudera', PORT '10000'); CREATE USER MAPPING FOR PUBLIC SERVER hive_server; CREATE FOREIGN TABLE hdp_orders ( order_id INT, order_date BIGINT, order_customer_id INT, order_status TEXT ) SERVER hive_server OPTIONS ( TABLE 'orders'); Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Fdw postgres PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 25. Chi sono? Test estensione : select count(*) from hdp_orders ; count ------- 68883 (1 row) Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Fdw postgres PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 26. Chi sono? Spazio a confronto : PostgreSQL : Hadoop Parquet : Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Fdw postgres PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 27. Chi sono? Spazio a confronto : Fr=fattore resilienza Pg : 4,2Mb x FRpg = 4.2Mb*1.3 ~ 5,5Mb Hdp : 0,476xFRhdp = 0,476*3 ~ 1,5MB Quindi con compressione minima ( snappy ) applicata al formato Parquet, abbiamo circa un fattore di saving tra le 3 e 4 volte. Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Fdw postgres PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 28. Chi sono? Si può inoltre abilitare l’interfaccia HUE ( http://quickstart.cloudera:8888 ) a puntare nativamente anche al motore rdbms : yum install postgresql-devel gcc python-devel sudo -u hue /usr/lib/hue/build/env/bin/pip install setuptools sudo -u hue /usr/lib/hue/build/env/bin/pip install psycopg2 modificare hue.ini ( dal cloduera manager o a mano ) : Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Hue - PostgreSQL PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 29. Chi sono? [librdbms] [[databases]] [[[postgresql]]] # Name to show in the UI. nice_name="testfdw" name=testfdw engine=postgresql host=<postgresql_ip> port=5432 user=test password=test Poi restart hue Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Hue - PostgreSQL PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 30. Chi sono? Hue : avrete nel tab del query editor anche il db postgres! Copyright 2012 Miriade S.p.a.Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org Hue - PostgreSQL PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016
  • 31. Attribuzione Non commerciale Condividi allo stesso modo 3.0 Italia https://creativecommons.org/licenses/by-nc-sa/3.0/it/ Copyright 2016 Miriade S.p.A. - http://www.miriade.it Copyright 2012 Miriade S.p.a. Grazie per l'attenzione Copyright 2012 Miriade S.p.a. Matteo Durighetto - m.durighetto@miriade.it - ITPUG.org License PGDay.IT 2016 Camera di Commercio di Prato Martedì 13 Dicembre 2016