Articoli del meseArticoli del mese

Articoli del mese


Stampa articolo

Articolo del Mese - Dicembre 2009

Web database: la questione MapReduce (seconda parte)

Colin White by Colin White

Quando si accede e si analizzano i dati esistono tre tipi di processo che vale la pena siano presi in considerazione: elaborazione batch di dati statici, elaborazione interattiva di dati statici ed elaborazione dinamica di dati in-flight. Un ambiente di Business intelligence, per esempio, prevede l’elaborazione Sql di dati statici di un datawarehouse. Questa può avvenire in modalità batch o interattiva. Sql può anche essere usato per analizzare e trasformare dati catturati da sistemi operazionali che servono ad alimentare un datawarehouse.
MapReduce è utilizzato per processare grandi volumi di dati in modalità batch. Risulta perciò particolarmente utile per elaborare dati non strutturati o dati sparse che fanno riferimento a dimensioni diverse. Non è invece adatto per elaborazione interattiva. Sarebbe molto utile, per esempio, per trasformare grandi volumi di dati non strutturati che devono alimentare datawarehouse od operazioni di data mining.
Né MapReduce, né Sql si dimostrano invece adatti per una elaborazione dinamica di dati in-flight, come per esempio dati riferiti a un particolare evento. Questo è il motivo per cui si introducono estensioni Sql (come StreamSql) così come nuove tecnologie di stream and complex event processing per gestire elaborazioni dinamiche. MapReduce, a ogni modo, è utile per compiere operazioni di filtering e trasformazione di event file quali possono essere considerati i Web log.

MapReduce e la coesistenza e integrazione con il modello relazionale

Più di un vendor di Rdbms analitici (Vertica, GreenPlum, Aster Data Systems) offre soluzioni che utilizzano sia tecnologia MapReduce (MR) che relazionale.
La strategia di Vertica è fondata sulla coesistenza. Con Vertica i programmi MR funzionano nel loro ambiente operativo, ma invece di rilasciare l’output al sistema MR, il programma Reduce genera un output verso il sistema relazionale di Vertica. Il supporto offerto da Vertica si avvale del servizio di Amazon, Elastic MapReduce (Emr), un Web service che fornisce un framework Hadoop che risiede sull’infrastruttura Amazon Elastic Compute Cloud (Amazon EC2) e Amazon Simple Storage Service (Amazon S3). Le informazioni cui si può accedere dal link http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2571
spiegano come utilizzare MR per elaborare e caricare un insieme di dati da S3 al sistema relazionale di Vertica che risiede su Amazon EC2.
La soluzione di Vertica potrebbe essere utilizzata per eseguire operazioni Etl (Extract, transform, load) in modalità batch dove l’input è costituito da grandi volumi di dati (un insieme di Web log per esempio) e l’ouput debba alimentare un datawarehouse gestito da Vertica stessa.
Aster and GreenPlum prevedono invece un’integrazione del framework di elaborazione MR all’interno dello stesso Rdbms in modo da trarre ulteriori vantaggi in attività di elaborazione parallela, scalabilità, backup & recovery e così via.
GreenPlum consente agli sviluppatori di scrivere programmi MR avvalendosi di linguaggi di scripting come Python e Perl. In questo modo gli script MR possono accedere a funzionalità open source per analisi di testo o tool statistici. Agli script è consentito inoltre accedere a flat file e pagine Web così come utilizzare Sql per avere accesso alle tabelle relazionali di GreenPlum. Le tabelle sorgenti possono essere lette da script Map e le tabelle target essere create da script Reduce. Questo tipo di architettura permette agli sviluppatori di sfruttare multiple sorgenti di dati e differenti stili di programmazioni. Consente inoltre di costruire datawarehouse utilizzando sia approcci Etl (i dati vengono trasformati prima che siano caricati nell’ambiente di datawarehouse) che Elt (i dati vengono trasformati dopo che sono stati caricati nel datawarehouse).
E’ possibile utilizzare gli script MR di GreenPlum anche come tabelle virtuali di statement Sql (il job MR viene eseguito on the fly come parte di una query Sql. Il motore Rdbms di GreenPlum esegue tutto il codice – Sql, Map scripts, Reduce scripts – sullo stesso cluster di macchine su cui risiede il database di GreenPlum).
Per ulteriori informazioni è possibile consultare il white paper di GreePlum reperibile all’indirizzo www.greenplum.com/download.php?alias=register-map-reduce&file=GreenPlum-MapReduce-Whitepaper.pdf.
Al contrario di GreenPlum, che tende a enfatizzare l’utilizzo di Sql in programmi MR, Aster adotta un differente approccio, focalizzandosi sull’utilizzo di capacità elaborative di tipo MR all’interno di programmi Sql. Aster fa sì che funzioni MR definite dall’utente possano essere invocate utilizzando Sql. E’ possibile scrivere le funzioni in linguaggi come Python, Perl, Java, C++ e Microsoft .Net (C#, F#, Visual Basic) e possono servirsi di statement per la definizione e manipolazione dei dati. Il supporto a Linux.Net è garantito dal prodotto open source Moni. Le stesse funzioni possono eseguire operazioni read-write da file di tipo flat. Come per GreenPlum le capacità MR di Aster si possono utilizzare per alimentare un datawarehouse sia con un approccio Etl piuttosto che Elt.
Per ulteriori informazioni si può fare riferimento al white paper di Aster reperibile all’indirizzo www.asterdata.com/resources/downloads/whitepapers/Aster_MapReduce_Technical_Whitepaper.pdf.
Sia GreenPlum che Aster permettono di incrociare dati relazionali con dati in stile MapReduce. Una capacità particolarmente utile per attività di trasformazione di dati batch, di integrazione e di data mining intensivo. L’approccio utilizzato dipende dall’applicazione e dalla tipologia dello sviluppatore. In generale si può affermare che i programmatori preferiscono l’approccio GreenPlum mentre gli esperti in Sql tendono a privilegiare l’approccio Aster.

E per quanto riguarda le prestazioni?

I sostenitori di MapReduce affermano con una certa frequenza che questa tecnologia permette prestazioni superiori rispetto a quelle conseguibili con tecnologia relazionale. Tuttavia le performance dipendono fortemente dal carico di lavoro. Andrew Pavlo della Brown University, insieme a Michael Stonebraker e David DeWitt, ha pubblicato di recente un documento che mette a confronto le prestazioni di due Dbms relazionali (Vertica e un Dbms row-oriented) con il MapReduce Hadoop. Dal documento emerge che, “in generale, gli Sql Dbms, pur dimostrando una significativa maggiore velocità e una semplificazione del codice da implementare per i singoli task, impiegano più tempo per le attività di tuning e loading dei dati”. Viene inoltre riconosciuto che “vi sia ancora molto da imparare da entrambi i tipi di sistemi” e che “le Api delle due classi di sistema tendono a convergere”.

Conclusioni

MapReduce ha raggiunto una significativa visibilità grazie all’utilizzo che ne ha fatto Google, alla sua intrinseca capacità di processare grandi volumi di dati Web non strutturati e al dibattito (MapReduce versus tecnologia relazionale) alimentato da sostenitori e detrattori degli opposti schieramenti.
Due cose appaiono chiare. Ai programmatori piace la semplicità di MapReduce e vi è una evidente tendenza verso un’integrazione di capacità MR all’interno di sistemi Dbms tradizionali.
MapReduce si rivela particolarmente adatto per elaborazioni batch di grandi file di dati non strutturati da utilizzare in sistemi di Business intelligence. La mia personale opinione è che, se i programmi MR vengono utilizzati per attività di filtering e trasformazione di dati non strutturati (documenti, pagine Web, Web logs, event file) che devono alimentare un datawarehouse, sia preferibile un approccio Etl e non Elt. Questo perché l’approccio Elt di solito prevede l’archiviazione di dati non strutturati in tabelle relazionali che possono essere manipolate via Sql.
Nello stesso tempo riconosco che vi sono organizzazioni che preferirebbero un framework di database basato su una sola e unica tecnologia di gestione dei dati. Questa è una delle ragioni per la quale i vendor Dbms hanno introdotto supporto aggiuntivo a dati Xml e XQuery all’interno dei loro prodotti Rdbms. La mia preoccupazione è che Sql e i prodotti relazionali stiano diventando troppo complessi, soprattutto per coloro che sviluppano applicazioni.

Web database: la questione MapReduce (seconda parte) - Technology Transfer

Enterprise information catalog. I requisiti per fare la scelta giusta
Mike Ferguson

La nuova era dell’analisi predittiva - Le aziende alla prova del Machine Learning
Frank Greco

Uno sguardo Agile - Per capire il passato e progettare il futuro
Arie van Bennekum

Trasformazione Agile
Se il product owner diventa un collo di bottiglia

Sander Hoogendoorn

Una Fiat o una Ferrari?
Qual è la più adatta per il business digitale?

Barry Devlin

Vincere la complessità dei dati. È l’ora dello smart data management
Mike Ferguson

Big Data e Analytics - Se il machine learning accelera anche la data science
Mike Ferguson

I dati al centro del business
Christopher Bradley

I Big Data forniscono il contesto e la ricchezza predittiva attorno alle transazioni di business Avere dati coerenti e di qualità resta fondamentale per il processo decisionale
Barry Devlin

Cosa c’è dietro l’angolo? Cinque mosse per diventare un digital leader
Jeroen Derynck

Managing information technology Gestire l’IT come un business nel business
Mitchell Weisberg

Data integration self-service Miglioramento della produttività o caos totale?
Mike Ferguson

Project manager vecchi miti e nuove realtà
Aaron Shenhar

La catena alimentare dei requisiti
Suzanne Robertson

Come diventare un’azienda data-centric
Lindy Ryan

Enterprise analytical ecosystem - Come comprendere il comportamento online dei clienti e capitalizzare il valore dei dati nell’era Big Data
Mike Ferguson

Agilità? Basta Volere
Suzanne Robertson

Ma la vostra architettura è efficace?
Mike Rosen

Se il NoSQL diventa SQL
Rick van der Lans

La data quality e l’impatto sul business
Danette McGilvray

Business analysis e regole di business By Ronald G. Ross con Gladys S.W. Lam
Ronald Ross

Usare Scrum su larga scala: cosa cambia?
Craig Larman

Le architetture per ridurre il debito tecnico
Mike Rosen

Conversando con un marziano
Suzanne Robertson

Cosa c’è di nuovo nel project management?
Aaron Shenhar

Reinventare la Business Intelligence
Barry Devlin

Il nuovo volto della business intelligence
Shaku Atre

Alla ricerca del valore tra i pomodori nell'orto
John Favaro

I big data cambiano il mercato dei Database Server
Rick van der Lans

Un “superstorm” di informazioni
Barry Devlin

I dieci step per la qualità dei dati
Danette McGilvray

Perché è meglio evitare il private cloud?
Jason Bloomberg

Leonardo da Vinci aveva ragione!
Chris Date

Mobile user experience: Come adottare una strategia sostenibile
James Hobart

Cosa significa occuparsi di architettura?
Mike Rosen

Virtualizzazione dei dati e sistemi di Business Intelligence Agili
Rick van der Lans

Modelli e linguaggi naturali, quale il modo migliore per definire i requisiti?
James Robertson

Extreme Scoping: un approccio Agile all'Edw e alla BI
Larissa Moss

BI², la Business Intelligence al quadrato
Barry Devlin

I test di regressione in ambienti legacy
Randy Rice

Le conseguenze della consumerizzazione e del Cloud
Chris Potts

Come vanno gli affari? Chiedetelo al vostro cruscotto
Shaku Atre

Organizzare team di progetto efficienti in ambienti DW/BI
Larissa Moss

Big Data, come e perché
Colin White

Business Capabilities e l'allineamento del business all'IT
Mike Rosen

Il valore della tassonomia nella ricerca delle informazioni
Zach Wahl

BI, ma il Data Warehouse è ancora necessario?
Colin White

Reinventare la Business Intelligence
Barry Devlin

Il cruscotto delle prestazioni: il nuovo volto della Business Intelligence
Shaku Atre

Modelli e processi di User acceptance testing
Randy Rice

I limiti nel gestire l'IT come un Business
Chris Potts

Le componenti fondamentali del Cloud
George Reese

Metadati e DW 2.0
Derek Strauss

BI Open Source: basso costo e alto valore?
Jos van Dongen

Semplicità e requisiti
Suzanne Robertson

Business intelligence e analisi testuale
Bill Inmon

Extreme Scoping™: approcci agili al DW e alla BI
Larissa Moss

Dalla BI a un'architettura IT di livello Enterprise
Barry Devlin

Ambiente efficiente di ricerca di informazioni
James Hobart

Il Business deve trainare la Strategia IT
Chris Potts

Web database: la questione MapReduce (seconda parte)
Colin White

Web database: la questione MapReduce
Colin White

Misura delle prestazioni. I sette comandamenti
Harry Chapman

Le dieci cose che un architetto deve fare per creare valore
Mike Rosen

Sviluppare applicazioni a prova di sicurezza
Ken van Wyk

The ECM Landscape in 2008
Alan Pelz-Sharpe

Ma chi sono gli operatori dell’informazione?
Colin White

Qualità dell’informazione e trasformazione del management
Larry English

Classificazione sistematica delle informazioni
Zach Wahl

L’uso intensivo del Web nelle applicazioni di Bi
Colin White

Enterprise Search
Theresa Regli

La forza dell'astrazione
Steve Hoberman

La strada verso una BI pervasiva
Cindi Howson

Soa, una strategia di test
Randy Rice

Verso una BI più semplice e a minor costo
Colin White

I contenuti “Killer” del Web
Gerry McGovern

Sviluppo iterativo del software per i Dw
Larissa Moss

Qualità delle Informazioni e Datawarehousing
Larry English

Lo scenario Ecm 2008
Alan Pelz-Sharpe

La nascita del Web 3.0
John Kneiling

Documentazione: il dossier del crimine
Suzanne Robertson

L’impatto del Web 2.0 sui portali delle imprese
Colin White

Le tecniche vincenti di IT Management
Ken Rau

Web 2.0
Ed Yourdon

Web di successo se si conosce il cliente
Gerry McGovern

Un approccio alla BI incentrato sui processi
Colin White

Integrare Master Data Management e BI (Parte Seconda)
Mike Ferguson

Integrare Master Data Management e BI (Parte Prima)
Mike Ferguson

Il Project Manager è una Tata
Suzanne Robertson

Web di successo se si conosce il cliente
Gerry McGovern

L'informazione personalizzata
Colin White

La Tassonomia dell'Impresa
Zach Wahl

Managed Meta Data Environment (II parte)
David Marco

Managed Meta Data Environment
David Marco

Migliorare le applicazioni dell'impresa con Web 2.0
James Hobart

La Balanced Scorecard migliora la Performance dell'IT
Harry Chapman

La fusione dei processi dell'impresa grazie a Soa (II parte)
Max Dolgicer

La fusione dei processi dell'impresa grazie a SOA (I parte)
Max Dolgicer

Volere è Potere, in Ogni Senso
Suzanne Robertson

Dimostrate con i numeri il valore dei contenuti del web
Gerry McGovern

Il Back-end della pianificazione strategica dell'It
Ken Rau

L'audit delle prescrizioni di progetto (II parte)
Suzanne Robertson

L'audit delle prescrizioni di progetto (I parte)
Suzanne Robertson

Il Processo di gestione delle informazioni
Ted Lewis

I requisiti come strumento di gestione dei progetti
Suzanne Robertson

Il futuro è nel contenuto killer del web
Gerry McGovern

Alla ricerca del valore tra i pomodori nell'orto
John Favaro

Rilevare i costi sulla base delle attività
Ken Rau

Un percorso verso l'impresa intelligente (II parte)
Mike Ferguson

Un percorso verso l'impresa intelligente (I parte)
Mike Ferguson

Il Data Store Operativo: un lavoro di martello
Claudia Imhoff

Il data warehouse orientato all'impresa
Michael Schmitz

Dieci punti chiave per realizzare balanced scorecard di successo
Harry Chapman

Content management: i contenuti al primo posto
Gerry McGovern

Applicazioni Web ad alta disponibilità
John Kneiling

Il 2004, sarà l'anno in cui abbandoneremo html?
James Hobart

La tecnologia EII ripropone il data warehousing virtuale?
Colin White

Misurare per Gestire
Ken Rau

Volere è Potere, in Ogni Senso
Suzanne Robertson

Realizzare il CPM e l'integrazione della BI
Mike Ferguson

Tutti i punti della FPA
Koni Thompson

Requiem per il Portale?
Colin White

Business Intelligence: dalla teoria alla realtà (II parte)
Shaku Atre

Business Intelligence: dalla teoria alla realtà (I parte)
Shaku Atre

I portali Corporate e di E-business: la nuova generazione del posto di lavoro
Mike Ferguson

I 10 errori da evitare nella realizzazione di un Meta Data Repository (II Parte)
David Marco

I 10 errori da evitare nella realizzazione di un Meta Data Repository (I parte)
David Marco

Usare i modelli per acquisire l'esperienza di progettazione
James Hobart

Realizzare l'Impresa Intelligente
Colin White

.NET or J2EE - Choosing the Right Web Services Framework
John Kneiling

Progettare Applicazioni Mobili di Successo
James Hobart

La Sociologia del Progetto: Identificare e Coinvolgere tutti i Partecipanti
Suzanne Robertson

Integrare la Business Intelligence nell'Impresa (II parte)
Mike Ferguson

Integrare la Business Intelligence nell'Impresa (I parte)
Mike Ferguson

L'Evoluzione del Portale di e-Business (II parte)
Colin White

L'Evoluzione del Portale di e-Business (I parte)
Colin White

Il Consulente WebEAI: Servizi Web, XML e l'Impresa
John Kneiling

Data Mining: Come Gestire le Relazioni con i Clienti Secondo i Principi del CRM
Weaver James

Articoli del mese - Technology Transfer