big data analytics

Analizzare grandi quantità di dati


Se un’azienda lavora con n termometri digitali (IoT) che rilevano ogni secondo la temperatura, o se una testata giornalistica online rileva ogni singola lettura di un articolo da parte degli utenti, è facile immaginare che la base dati su cui effettuare analisi possa raggiungere presto dimensioni enormi.

L’analisi di tali quantitativi ci porta a guardare da vicino le query, gli indici, i meccanismi di caching e le impostazioni del dbms al fine di ottenere tempi di risposta rapidi in fase di analisi (es. media mensile della temperatura, oppure i 5 articoli più letti negli ultimi 6 mesi).

Nonostante ciò, accade spesso, che tali ottimizzazioni non sono sufficienti ad ottenere risposte in tempi ragionevoli..

In questi casi l’approccio è quello del “pre-processing” si comincia a ragionare con viste materializzate o strumenti del genere in modo che il dato sia “predisposto” il più possibile all’interrogazione.

Ci sono dei dbms che ci aiutano nell’analisi di grandi quantità di dati, questi organizzano i dati in modo diverso e ci aiutano nei processi di pre-organizzazione del dato senza re-inventare la ruota.

Ovviamente i dbms che hanno queste attitudini sono inadeguati a gestire altri aspetti (transazioni, update in grosse quantità etc.) ..

Motivo per cui spesso convivono due tipologie di dbms all’interno della stessa architettura.

Esiste quindi nel mondo dei dbms un importante distinzione tra i seguenti due macro scenari di elaborazione:

OLAP (Online Analytics Processing)

vs

OLTP (online transaction processing)

L’elaborazione di tipo OLTP è orientata alle transazioni, casi d’uso possono essere elaborazione degli ordini, aggiornamento di un inventario, gestione degli account dei clienti.

L’OLTP organizza i dati in righe, ogni riga rappresenta un’entità e il motore del dbms si occupa di ottimizzare i tempi e le operazioni di scrittura in modo che sia sempre garantita l’integrità. (Se due clienti prenotano lo stesso viaggio in aereo, dobbiamo assegnare questi solo al primo arrivato in ordine cronologico)

L’OLAP invece è utilizzata per la generazione di report, analisi complesse di dati aggregati, identificazione di tendenze.

I DBMS ottimizzati per l’elaborazione OLTP sono MySQL, Postgres sql, mongo db, MS SQL Server etc. (anche se alcuni di essi hanno anche degli engine di tipo olap) sul lato OLAP abbiamo Clickhouse, Apache Druid, Cognos etc. (vedi https://en.wikipedia.org/wiki/Comparison_of_OLAP_servers per la lista completa).

Come spesso capita nel nostro settore è bene scegliere lo strumento giusto in base all’obiettivo da raggiungere!

p.s. Per consulenze in merito contattami tramite il form sottostante o manda una mail a info@mobijay.net

    × Scrivimi su Whatsapp