2ndQuadrant » data warehousing https://blog.2ndquadrant.it Il blog sui database di 2ndQuadrant Italia Thu, 25 Jan 2018 11:36:59 +0000 en-US hourly 1 http://wordpress.org/?v=4.3.15 PostgreSQL 9.1: Tabelle esterne con SQL/MED https://blog.2ndquadrant.it/postgresql_91_tabelle_esterne/ https://blog.2ndquadrant.it/postgresql_91_tabelle_esterne/#comments Mon, 13 Jun 2011 11:13:14 +0000 http://2ndblog.dev.xcon.it/postgresql_91_tabelle_esterne/ SQL/MED rappresenta la parte dello standard SQL dedicata alla gestione dei dati esterni (Management of External Data). Anche se SQL/MED è disponibile già a partire da PostgreSQL 8.4, nella versione 9.1 è stata introdotta la possibilità di definire tabelle speciali, dette "foreign", per accedere a dati esterni al database tramite semplici SELECT.

Questo articolo mostra la procedura da seguire per creare una tabella esterna contenente dati ricavati da un file CSV locale e sfrutta un’altra caratteristica introdotta in PostgreSQL 9.1: le estensioni.

Prima di tutto, è necessario installare una estensione chiamata file_fdw distribuita nei moduli contrib di PostgreSQL 9.1.

Per installare i moduli contrib di PostgreSQL 9.1 dai sorgenti è sufficiente compilarli con gmake world e installarli con gmake install-world, oppure entrare nella directory contrib degli stessi sorgenti e digitare gmake install.

Una volta installati i moduli contrib, le estensioni si troveranno in ${postgresql_prefix}/share/extension. Controllate che esistano i file file_fdw.control e file_fdw--1.0.sql, che definiscono l’estensione (si rimanda all’articolo sulle estensioni per maggiori informazioni).

Creare l’estensione con:

CREATE EXTENSION file_fdw;

Il comando psql per mostrare le estensioni è dx, che possiede anche la variante dx+, che mostra maggiori dettagli:

test_db=# dx+ file_fdw
Objects in extension "file_fdw"
Object Description
-----------------------------------------
foreign-data wrapper file_fdw
function file_fdw_handler()
function file_fdw_validator(text[],oid)
(3 rows)

Si noti che questa estensione crea automaticamente un oggetto di tipo FOREIGN DATA WRAPPER di nome file_fdw, che tornerà utile in seguito.

Dato che SQL/MED può gestire la copia dei dati anche attraverso database remoti, è necessario creare un server usando l’oggetto file_fdw (questo passo è necessario anche nel caso si stiano caricando dati da un file locale, come in questo esempio):

CREATE SERVER file FOREIGN DATA WRAPPER file_fdw ;

A questo punto, è possibile creare la tabella esterna caricando i dati, con:

CREATE FOREIGN TABLE statistical_data (field1 numeric, field2 numeric)
SERVER file
OPTIONS (filename '/tmp/statistical_data.csv', format 'csv', delimiter ';') ;

Attualmente, è possibile eseguire solo query di sola lettura tramite SELECT sulle tabelle foreign. Le tabelle foreign inoltre, funzionano anche attraverso dblink, il tool che permette la comunicazione tra database remoti.

Concludendo, questa caratteristica va a completare una piccola lacuna che Postgres aveva rispetto ad altri database. Va pertanto accolta con grande interesse data la sua utilità, specialmente nel settore del data warehousing, in particolare dell’estrazione e del caricamento dati (ETL), e in più in generale per l’integrazione del database con altri sistemi e altre fonti di dati.

Per maggiori informazioni si rimanda alla documentazione di PostgreSQL sul comando CREATE FOREIGN TABLE.

]]>
https://blog.2ndquadrant.it/postgresql_91_tabelle_esterne/feed/ 1
Data warehousing open-source con PostgreSQL https://blog.2ndquadrant.it/data_warehousing_con_postgresql/ https://blog.2ndquadrant.it/data_warehousing_con_postgresql/#comments Wed, 11 Nov 2009 23:14:21 +0000 http://2ndblog.dev.xcon.it/data_warehousing_con_postgresql/ Una delle soddisfazioni principali per il team italiano di 2ndQuadrant al PostgreSQL Day Europeo 2009, rappresentato a Parigi da Gianni Ciolli e Gabriele Bartolini, è stata la presentazione del talk “Data warehousing with PostgreSQL”. La necessità per un’azienda o un’organizzazione di memorizzare dati per fini analitici è in continua crescita. E la crisi finanziaria spinge le aziende a cercare soluzioni in grado di ridurre il TCO (total cost of ownership) delle infrastrutture informatiche. Anche per le soluzioni che fino a qualche tempo fa erano esclusivo appannaggio di prodotti commerciali e di alto livello. Nel contempo, le soluzioni open-source si sono evolute.

Un esempio importante è rappresentato dai sistemi di business intelligence e dai sistemi di data warehouse. Nello specifico: la soluzione adottata per la memorizzazione dei dati, solitamente un RDBMS.

PostgreSQL è oggigiorno una soluzione flessibile, efficace e affidabile per la memorizzazione di grosse moli di dati, sia un singolo nodo che su un cluster di nodi distribuiti utilizzando soluzioni open-source come gli Skytools prodotti da Skype. Tra l’altro, la nota azienda di telecomunicazioni e di VoIP è da anni uno dei principali utilizzatori di PostgreSQL avendo anche basato su di esso la propria struttura informativa – capace di memorizzare fino a un miliardo di profili utente.

2ndQuadrant, sfruttando le competenze interne in materia di data warehouse e di soluzioni scalabili, ha pertanto pensato che fosse giunto il momento di dimostrare pubblicamente quanto PostgreSQL sia maturo per esigenze di questo tipo.

Lo ha fatto tramite un talk presentato al PGDay di Parigi da Gabriele Bartolini, volto a fornire una panoramica sullo stato dell’arte di PostgreSQL in materia di data warehouse e alcuni suggerimenti per l’ottimizzazione e la modellazione logica del database. Le slide, in inglese, sono scaricabili secondo la licenza Creative Commons.

Download: Slide del talk “Data warehousing with PostgreSQL” (in inglese).

]]>
https://blog.2ndquadrant.it/data_warehousing_con_postgresql/feed/ 0
2ndQuadrant al PGDay Europeo https://blog.2ndquadrant.it/2ndquadrant_al_pgday_europeo/ https://blog.2ndquadrant.it/2ndquadrant_al_pgday_europeo/#comments Fri, 06 Nov 2009 15:19:08 +0000 http://2ndblog.dev.xcon.it/2ndquadrant_al_pgday_europeo/ 2ndQuadrant è presente in qualità di partner al PGDay Europeo 2009 di Parigi, Francia, la terza edizione della principale conferenza annuale a livello europeo di PostgreSQL (6 e 7 novembre 2009).

Simon Riggs, CEO di 2ndQuadrant ha aperto la conferenza con il suo keynote speech sul futuro di PostgreSQL "PostgreSQL: The next 20 years".

Gabriele Bartolini, responsabile di 2ndQuadrant Italia, ha presentato un intervento sui sistemi di datawarehouse open-source con PostgreSQL.

Infine, Simon Riggs, in collaborazione con Robert Hodges di Continuent ha brillantemente esposto il futuro di PostgreSQL nel campo dell’alta disponibilità (High Availability).

]]>
https://blog.2ndquadrant.it/2ndquadrant_al_pgday_europeo/feed/ 0