[ImoLUG] Open source OLAP tool ?

virgilio pierini virgilio.pierini@gmail.com
Lun 29 Dic 2008 11:40:02 CET


avendo finito il panettone ho proseguito nella lettura (
http://mondrian.pentaho.org/documentation/architecture.php)

Mondrian's aggregation strategy is as follows:

   - Fact data is stored in the RDBMS. Why develop a storage manager when
   the RDBMS already has one?
   - Read aggregate data into the cache by submitting group by queries.
   Again, why develop an aggregator when the RDBMS has one?
   - If the RDBMS supports materialized views, and the database
   administrator chooses to create materialized views for particular
   aggregations, then Mondrian will use them implicitly. Ideally, Mondrian's
   aggregation manager should be aware that these materialized views exist and
   that those particular aggregations are cheap to compute. It should even
   offer tuning suggestings to the database administrator.

questo è il passo in cui l'autore spiega i motivi "why I decided to use the
features of the RDBMS rather than developing a storage system optimized for
multidimensional data"

senza fare troppo il fastidioso visto che non ho mai usato il prodotto,
occorre sottolineare che se tu hai trovato i limiti del tuo dbms e lui
delega al dbms...
in realtà io sono un fan di pentaho, solo che sponsorizzo l'uso consapevole
:) (dove lavoro non è andata proprio così bene)

fammi sapere come va a finire (ma è per i vari progetti bayes*?)


2008/12/29 virgilio pierini <virgilio.pierini@gmail.com>

> uffa, tocca di nuovo interrompere la colazionepanettone
> bene bene, quindi ti serve solo un engine che risponda alle query.
>
> purtroppo non ho mai usato mondrian e quindi non so spingermi oltre; per
> curiosità ho spulciato quà e là sul sito e leggo "High-speed queries through
> the use of aggregate tables in the RDBMS" mmm, ovvero: non sembra (ad una
> lettura superficiale) implementare un proprio engine (come fa appunto
> hyperion) ma come kimball si ammazza di tabelle aggregate. Oddio, se il
> processo di generazione e manutenzione di tali strutture di supporto è
> guidato e automatizzato dallo strumento ci guadagni lo stesso. Però non è la
> stessa cosa.
>  Poi, andando avanti, un altro effetto collaterale di usare i cubi è quello
> di essere molto più guidati (quasi "forzati") nell'analisi perchè le
> dimensioni, gli incroci e le regole di aggregazione sono già fatte. Questo
> di solito aiuta l'utente che non deve entrare nelle logiche di costruzione
> del dato e che ha un'interfaccia che aderisce a queste convenzioni. Non sono
> sicuro invece di cosa abbia tu. Stai sviluppando un'interfaccia custom? Tale
> interfaccia è pensata per fare analisi ad-hoc (ovvero in cui l'utente è
> datanti ad una sorta di griglia/grafico in cui seleziona, drilla, slice,
> dice, etc? o sono più "schermate"/report più definiti in cui l'utente
> valorizza dei range? Cosa fa l'utente? setta dei parametri, sceglie delle
> dimensioni e tu gli passi un GViz? Oppure per lui GViz è trasparente, ha
> solo la bella pagina con i gadget grafici di cui tu fai refresh quando
> produci un nuovo output?
>
>  In sostanza: se l'engine di fatto ti lascia a dipendere da
> mysql+tabelleaggregate+indici e se non usi la parte di interfaccia
> (jfreereport o cmque una qualunque logica pivot "consapevole" di avere un
> molap sotto) forse forse mondrian ti dà poco valore aggiunto
>
> torno al panettone
>>
> 2008/12/29 Riccardo Govoni ☢ <battlehorse@gmail.com>
>
>> Ciao virgilio,lo sapevo ( e un po' ci speravo ) sul fatto che avrei
>> scatenato la tua immaginazione :-)
>>
>> Un po' di informazioni di contorno :
>> - non ho bisogno di un ETL, perche' ho gia' un anno di codice alle spalle
>> che si e' consolidato in un accrocchio che funziona decentemente e non mi va
>> di riscriverlo. L'accrocchio in questione sostanzialmente macina file di
>> testo e popola un mysql
>> - non ho bisogno di tool di visualizzazione / reportistica, perche' al
>> momento esporto tutti i miei dati come sorgenti GViz<http://code.google.com/apis/visualization/documentation/dev/implementing_data_source.html>e quindi uso le visualizzazioni
>> associate <http://code.google.com/apis/visualization/> .
>>
>> Posto che non ho ben chiara la distinzione dei tre casi che mi hai
>> presentato, penso di essere piu' vicino al secondo:
>> Date le 5-6 entita' chiave che costituiscono la mia base dati, ho bisogno
>> di effettuare estrazioni del classico tipo: estrai X,Y filtra su Z group by
>> W .
>>
>> dove x,y,z,w etc sono una qualunque delle 5-6 entita di cui sopra. In
>> questo caso l'approccio a cubi precalcolati mi sembra  il migliore, perche'
>> a) i dati cambiano una volta al giorno , b) o schianto mysql di indici, o e'
>> costretto ad andare in tablescan la maggior parte delle volte.
>>
>> I dati che escono dai suddetti cubi me li gestisco io, e li espongo al
>> client con le mie visualizzazioni. Cio' che mi manca e lo strumento che
>> prenda il mio mysql e si metta a fare i cubi in questione. E al momento
>> risolvo a mano rigenerando ogni giorno delle tabelle con i 2-3 cubi chiave
>> che mi servono, ma vorrei automatizzare la cosa.
>>
>> Mondrian mi sembrava la soluzione giusta, anche se, appoggiandosi
>> direttamente al dbms sottostante, non mi e' chiaro quanto le sue funzioni di
>> caching siano smart nel fare cio' che serve a me.
>>
>> Riassumendo:
>> dbms relazionale da un lato, visualizzatore di estrazioni tabulari
>> dall'altro, mi serve un denormalizzatore che prenda il suddetto db e me lo
>> spezzi nelle varie dimensioni possibili.
>>
>> Avessi uno straccio di competenze in ambito dwh, sicuramente potrei
>> esprimere quanto sopra con un gergo piu' efficace, ma ahime' ...
>> /R.
>>
>> 2008/12/29 virgilio pierini <virgilio.pierini@gmail.com>
>>
>>> smetto di mangiare una esagerata fetta di panettone e ti rispondo perchè
>>> l'argomento mi intrippa non poco :)
>>> hai bisogno di strumenti per realizzare un datawarehouse (intendo
>>> qualcosa che si esprime con un dbms) o un sistema di BI (ovvero cerchi di
>>> soddisfare i requisiti con la reportistica, la quale comanda inevitabilmente
>>> il disegno) o un sistema BPM (fa figo differenziare questi sistemi più
>>> orientati alla pianificazione, pki, imputazione utente, what-if)?
>>>
>>> nel primo dei tre casi ti serve soprattutto un ETL, quello di pentaho
>>> (kettle) ha una buona storia di sviluppo alle spalle, è java e permette
>>> agevolmente delle estensioni. L'ho usato in varie occasioni e ti permette di
>>> arrivare in fondo ai progetti. Altro strumento che ha una buona reputazione
>>> è Talend
>>> http://www.talend.com/products-data-integration/talend-open-studio.php(una volta produceva codice perl, adesso non so se è stato esteso). Sulla
>>> carta è migliore per architettura e connettori, ma non l'ho mai provato.
>>>
>>> nel secondo caso hai bisogno di una suite di reporting (una volta che hai
>>> il cubo mondrian con cosa ti guardi i dati? di solito con jfreereport) e qui
>>> consiglierei pentaho, che mi sembra più lively. Occhio che l'approccio a
>>> cubi (vedi il vecchio Hyperion) è abbastanza differente rispetto a
>>> datawarehouse fatto con le tabelle mysql (vedi i vari testi sacri di
>>> kimball): hai dei confini un po' più rigidi, l'analisi è meno flessibile, la
>>> morte sua effettivamente è l'aggregazione precalcolata e le simulazioni
>>> what-if. Per quanto ne so anche spago-bi usa mondrian...
>>>
>>> per il terzo ... beh... fire your eclipse and start coding
>>>
>>> torno al panettone
>>> ciao!!!
>>>>>>
>>>
>>> 2008/12/26 Massimo Azzolini <massimo.azzolini@gmail.com>
>>>
>>> ciao,
>>>>
>>>> non gioco mai con questi aggeggi, ma mi hanno parlato bene di
>>>> www.spagobi.org
>>>>
>>>> se non ho capito male è OS anche questo
>>>>
>>>> cia'
>>>>
>>>> PS. ho ancora il pandoro in mano, io :)
>>>>
>>>> P. J. O'Rourke  - "Cleanliness becomes more important when godliness is
>>>> unlikely."
>>>>
>>>> 2008/12/26 Riccardo Govoni ☢ <battlehorse@gmail.com>
>>>>
>>>> Hola boys,
>>>>> basta mangiare panettone mattina mezzogiorno e sera, e' ora di pensare
>>>>> a qualcosa di serio.
>>>>>
>>>>> Avete suggerimento per un buon tool OLAP / Datawarehousing opensource ?
>>>>> L'unico che conosco e' questo ( in Java ):
>>>>> http://mondrian.pentaho.org/
>>>>>
>>>>> Che non mi andrebbe neanche male, ma vorrei valutare qualche
>>>>> alternativa.
>>>>>
>>>>> L'esigenza che e' quella di aggregare un 20 milioni di entries con un
>>>>> ritmo di crescita di ~5M/mese in 5-6 dimensioni diverse. E fare il
>>>>> tutto a suon di indici di MySql chiaramente non va molto lontano ...
>>>>>
>>>>> Buon natale! ( in ritardo ),
>>>>> /R.
>>>>> --
>>>>> Mailing list info: http://lists.linux.it/listinfo/imolug
>>>>>
>>>>>
>>>>
>>>> --
>>>> Mailing list info: http://lists.linux.it/listinfo/imolug
>>>>
>>>>
>>>>
>>>
>>> --
>>> Mailing list info: http://lists.linux.it/listinfo/imolug
>>>
>>>
>>>
>>
>> --
>> Mailing list info: http://lists.linux.it/listinfo/imolug
>>
>>
>>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/private/imolug/attachments/20081229/2102ec02/attachment.htm>


Maggiori informazioni sulla lista ImoLUG