PDA

View Full Version : [DATAWAREHOUSE] quali strumenti per realizzare un prototipo?


wireless
03-04-2011, 18:14
ciao a tutti,
dovrò realizzare un prototipo di datawarehouse, il cui compito sarà ovviamente quello di mostrare come con un affare del genere si riesce a rispondere a delle domande di business partendo dai dati aziendali a disposizione.
Sto cercando quindi gli strumenti per realizzarlo, open e meglio visto che è un prototipo (si deciderà eventualmente dopo come realizzarlo e con quale strumento e piattaforma); se pensate sia consigliabile usare strumenti Microsoft, Oracle o IBM, considerando le finalità (magari uso una licenza 30gg o simili o sento i nostri commerciali se hanno qualche proposta) va bene lo stesso.

Premetto che non ho mai lavorato con i dw, per ora mi sto leggendo il libro di Kimball

http://www.amazon.com/Data-Warehouse-Toolkit-Complete-Dimensional/dp/0471200247/ref=pd_sim_b_2

Volevo chiedervi se avete esperienze con i numerosi strumenti esistenti per l'ETL ma anche come OLAP engine e infine per il reporting.
In rete si trovano molte comparative, non aggiornatissime: in ogni caso mi faceva piacere avere una vostra opinione.

Le suite principali che ho individuato sono:

pentaho
talend, che non ho capito se ha un olap engine e uno strumento di reporting
jaspersoft (si appoggia a telend per l'ETL)

Avete esperienze con i primi due? il primo è un prodotto maturo, con libri e una grande community, un po' dispersivo (devo ancora capire cosa fanno i vari componenti); il secondo è basato su Eclipse e ha il suo fascino, molti strumenti ma anche la complessità tipica dei prodotti eclipse based, nonchè richiede una macchina bella prestante che dovrei eventualmente rimediare.

In rete ne ho trovati tanti altri: principalmente mi interessa che
funzionino bene
che abbiano una curva d'apprendimento poco ripida o che una volta imparati mi permettano di procedere speditamente senza problemi dovuti a bug o limitazioni
facciano parte di una suite che comprenda strumenti per l'ETL e il reporting, o perlomeno devo trovare due strumenti distinti che facciano una cosa ciascuno ma che riesco a integrare con semplicità.

Posso usare anche un tool "meno famoso" se soddisfano questi requisiti. Alla fine devo mostrare solo i report (ancora da capire contenti cosa, per dirvi che mi interessa raggiungere il risultato finale il più velocemente possibile).

Alcuni strumenti da me trovati:
http://www.ketl.org/
http://www.cloveretl.com/
http://www.microstrategy.com/freereportingsoftware/
http://www.spagoworld.org/xwiki/bin/view/SpagoBI/
http://www.infobright.com/
http://oreports.com/
http://rapid-i.com/component/option,com_frontpage/Itemid,1/lang,en/
http://www.eclipse.org/birt/phoenix/ solo reporting
http://www.jedox.com/en/downloads/Palo-Downloads-current-version/further-palo-downloads.html

Datemi qualche consiglio, la scelta di come farlo si sta dimostrando non banale...

wireless
19-04-2011, 21:31
nessuno? :eek: :cry: :cry: :cry:

Alethesnake
22-04-2011, 08:56
Ciao,

Non mi pare tu abbia parlato di budget eventualmente disponibile nel tuo post, e questo cambia ovviamente radicalmente la strada che puoi intraprendere.

Partendo dal db se il budget lo consente punterei su un appliance.
Attualmente il leader di mercato per i dwh (vedi griglia di Garthner) è Teradata. A mio avviso questa leadership è totalmente meritata, semplicissimo da usare, da gestire, molto potente, e scalabile. Non è ovviamente economico, ma dal sito ufficiale puoi scaricare una demo perfettamente funzionante per windows.
Un'alternativa interessante potrebbe essere Netezza, ma in Italia ad oggi non ha ancora avuto grande appeal. Su questo so dirti poco, a parte che costa parecchio.
Oracle è sempre una buona alternativa, è più complesso da utilizzare rispetto ai primi due (gestione tablespace, usergroups, utenti, ecc.). Non a caso i dba oracle sono ben pagati. Dal sito oracle puoi scaricarti un db gratuito se non utilizzato a fini commerciali. Il loro appliance al momento secondo me non merita considerazione, perché costa di più dei precedenti e a mio avviso non regge il paragone (almeno con Teradata).
Come soluzioni economiche altrimenti puoi puntare su MySql, che credo sia ancora gratis (non so come è evoluta la situazione dopo che l'ha comprato oracle).
SqlServer.. a me personalmente da la nausea, non lo trovo indicato (come mysql d'altronde) per soluzioni di BI dove devi gestire medio-grandi moli di dati. Inoltre se usi sql server ti leghi mani e piedi ad ambienti windows anche per etl e reportistica (non esistono i driver db per altri sistemi operativi..).
Il db di ibm.. sconsiglio vivamente anche questo, lo trovo inadeguato a soluzioni di BI. Anche IBM offre una sorta di appliance (che in realtà appliance non è), ma se in europa fino all'anno scorso nessuno lo usava un motivo ci sarà.

Sugli ETL attualmente mi sento di consigliarti nell'ordine:

IBM Datastage (piuttosto costoso, ma quotatissimo nelle soluzioni DWH professionali). Nella griglia di Garthner è secondo solo ad Informatica, che però trova utilizzo principalmente oltreoceano.

Pentaho, è una soluzione a basso costo (anche la versione commerciale è piuttosto economica). I server dove lo installi devono essere piuttosto potenti. I benchmark con Datastage danno il secondo ampiamente in vantaggio ovviamente, mentre pentaho surclassa talend e jaspersoft.

OWB, oracle warehouse builder, se opti per soluzioni su oracle può essere interessante, ma non lo conosco granché.

SISS, se opti per Sql Server questo è il suo etl "embedded". A riguardo prova a dare un'occhiata qui: www.sqlbi.com

Altri non ne conosco. Se ti servono per una demo di questi gli unici disponibili sono pentaho e forse owb. Non so per i ssis.


Per la reportistica io voto microstrategy tutta la vita (non so se offre demo).
Business object è costoso e molto rigido, non lo consiglierei.
Pentaho ha discrete soluzioni che puoi liberamente provare.
Microsoft ha la sua piattaforma per creare cubi olap su sql server e per la reportistica.


Insomma, una demo a basso costo la ottieni in vari modi, ma secondo me dovrebbe essere rappresentativa della soluzione finale.
La scelta poi dipende da budget/mole di dati da gestire.

Per una versione dimostrativa (a costo zero) personalmente andrei su:

db oracle/teradata/mysql (a seconda di quella che potrebbe essere la scelta finale).
ETL pentaho (se il budget potrà consentirlo in futuro comunque ibm magari un server di prova con datastage te lo offre).
Front-end microstrategy (se ha la versione dimostrativa, questo non lo so), oppure sempre pentaho.

Ciao,

Ale.

andrea.vincenzi
25-04-2011, 09:53
La realizzazione di un data warehouse, anche in forma di prototipo, non è impresa da poco, proverò comunque a darti alcuni consigli lampo, altrimenti puoi trovare molte informazioni sul mio sito olap.it

1) Il libro che hai scelto è il migliore, leggilo e ci troverai un mare di informazioni utili

2) Le suite open source (inclusa Pentaho) sono ovviamente meno rifinite dei migliori prodotti commerciali, quindi richiedono più fatica per essere implementate, per uno che parte da zero

3) Microsoft potrebbe essere una buona piattaforma, perché prendendo SQL Server hai tutti i componenti che servono (db, etl e front end) inclusi nel prezzo

4) Se sai programmare in T-SQL o PL-SQL l'etl puoi anche farlo con delle stored procedure, a volte può essere una scelta molto valida

5) esistono dei generatori di data warehouse che secondo me sono un'alternativa interessante per generare un prototipo. Ti consiglio di dare un'occhiata a wherescape

6) Dovendo realizzare un prototipo eviterei probabilmente di seguire la strada tradizionale, ovvero degli star schema popolati tramite etl, perché troppo complessa, e mi orienterei verso una realizzazione più snella, che prende i dati da fonti eterogenee e non perfettamente organizzate e ripulite. Ci sono dei bellissimi strumenti adatti a questo tipo di soluzione, te ne cito due su tutti: Tableau e Qlickview.

In merito alla risposta di Ale:
- Dici che Teradata è semplicissimo da usare... non mi risulta, teradata è un oggetto molto complesso che se non conosciuto e usato correttamente può dare risultati deludenti, a fronte di un costo molto elevato.

- Mysql è gratuito naturalmente, e Microstrategy ha rilasciato circa sei mesi fa una versione gratuita del suo front-end che può essere una soluzione interessante

- Ogni opinione è rispettabile se adeguatamente motivata, ma quello che dici su sql server mi sembra assolutamente privo di motivazioni valide e basato più che altro su un'antipatia generica verso Microsoft.

Alethesnake
26-04-2011, 10:23
In merito alla risposta di Ale:
- Dici che Teradata è semplicissimo da usare... non mi risulta, teradata è un oggetto molto complesso che se non conosciuto e usato correttamente può dare risultati deludenti, a fronte di un costo molto elevato.

- Mysql è gratuito naturalmente, e Microstrategy ha rilasciato circa sei mesi fa una versione gratuita del suo front-end che può essere una soluzione interessante

- Ogni opinione è rispettabile se adeguatamente motivata, ma quello che dici su sql server mi sembra assolutamente privo di motivazioni valide e basato più che altro su un'antipatia generica verso Microsoft.

Ciao Andrea,

Riguardo la mia affermazione su Teradata ovviamente tutto è relativo, non era mia intenzione affermare che faccia magie ma solamente che a livello di gestione e di programmazione è indubbiamente più semplice da utilizzare rispetto agli altri.
Lato amministrativo creare database, utenti, gruppi, attribuire privilegi è infinitamente più semplice. Questo è uno dei punti di forza del prodotto.
Lato prestazioni per ottenere risultati deludenti a mio avviso ci si deve impegnare parecchio. Tutto dipende ovviamente da cosa effettivamente si sta realizzando, ripeto le magie non le fa nessuno e l'esperienza è necessaria, ma a mio avviso le risposte del database sono meno "umorali" rispetto a quelle degli altri.

Riguardo Sql Server ammetto di aver espresso un parere "non professionale" ma personale sulle prime. Sta di fatto che una soluzione su Sql Server ti lega agli ambienti Microsoft anche per il resto. Non è certo un mistero che Microsoft non rilasci nemmeno i driver del proprio database per sistemi non-windows (non considero a questo proposito la connessione odbc una soluzione accettabile).
Non è nemmeno un mistero che sul mercato DWH Microsoft si ponga come follower, e nemmeno molto a ridosso della concorrenza. Per questo è sufficiente dare un'occhiata al quadrante di Gartner:

http://www.gartner.com/technology/media-products/reprints/teradata/vol3/article1/article1.html

I limiti di sql server in soluzioni di DWH secondo me emergono anche nella complessità di partizionamento di una tabella, elemento essenziale nella gestione di moli di dati rilevanti, nonché nella scarsa ed onerosa (lato sviluppo) scalabilità.
Poi sono s'accordo che per piccole/medie soluzioni con budget contenuti rappresenti un'ottima alternativa in quanto mette a disposizione tutto ciò che serve, ma lo trovo comunque molto limitato.

Un'ultima nota riguardo Pentaho, che trovo essere un'alternativa assai valida.
Parlando specificatamente di data integration trovo che tra questo ed i siss per un'utilizzo medio non ci siano significative differenze nella curva di apprendimento. La versione commerciale ha comunque costi molto contenuti a dispetto di una suite molto completa.

wireless
01-05-2011, 18:43
innanzitutto ringrazio entrambi per gli interventi molto interessanti.
il mio budget è nullo: è un prototipo, se e quando si deciderà di trasformarlo in qualcosa di definitivo sarà da rivedere tecnologia / piattaforma etc, non credo neanche che sarò io a farlo, anzi molto probabile sarà un team ad hoc. Posso provare a chiedere ai vari vendor delle versioni evaluation (potrebbero essere interessati, in sede di presentazione del prototipo, al fatto che emerga che mi hanno "sponsorizzato").

gli obiettivi sono: mostrare che analisi posso fare con i dati aziendali, costruendo un datawarehouse, mostrando qualche report statico (che deve essere accattivante, anche l'occhio vuole la sua parte come si sa) e se eventualmente esistono strumenti OLAP per fare qualche analisi in maniera dinamica. L'idea è quella che la funzione informatica vuole convincere quella business di investire su un lavoro del genere piuttosto di chiederci un report a settimana con questi o quei dati.

in relazione a ciò, devo capire quali sono gli strumenti che mi permettono di farlo facilmente e relativamente velocemente (nei limiti del possibile, si intende)...ho due ore al giorno e un anno di tempo. Vorrei concentrarmi sulla progettazione piuttosto che scontrarmi con la tecnologia (anche perchè tutto ciò non avrà visibilità nel prototipo, che non ha il fine di fare una compararazione tra tecnologie diverse con cui realizzarlo).
La base dati è unica di circa 1000 tabelle.
il carico, essendo un prototipo, credo di poterlo "ritagliare" sulla base di quello che andrò a mostrare. Devo caricare sufficienti dati per fornire analisi interessanti / credibili, ma non certo tutto. Deve girare sul mio portatile dual core.

Il mio approccio era quindi lavorare su 4 fronti, etl + star schema + reporting statico + olap, cercando il miglior prodotto o combinazione di prodotti per far ciò. Non mi è chiaro se posso fare uno star schema a mano in mysql eppoi agganciarlo a qualche strumento olap (quale?) o come procedere. O meglio, si può fare in tanti modi che sto vedendo ma ho bisogno di dritte come le vostre per scremare le tante possibilità e i tanti pacchetti.

Alcuni colleghi hanno fatto prove con pentaho ma hanno trovato la community edition troppo frammentata e con qualche problema nella gestione dei metadati. Quindi volevo capire se c'era di meglio e cosa.

Interessante l'approccio di wherescape, approfondisco, così come gli strumenti Tableau e Qlickview (ma che fanno esattamente?)

Curiosità: avendo ricevuto due risposte in un mese, secondo voi in Italia c'è poco interesse o pochi professionisti?

@andrea.vincenzi: ma tieni un corso Technology Transfert a giugno a roma? forse mi ci mandano...

wireless
01-05-2011, 19:19
update, sto guardando
http://www.qlikview.com/us
e
http://www.tableausoftware.com/

il primo richiede file excel / access in input...uhm, non va bene, devo appoggiarmi a qualcosa che abbia un dbms

il secondo lo sto guardando, peccato la licenza di 14 giorni. Sembra più interessante, posso pescare da mysql e mostra funzionalità per gestire dimensioni e fatti.