Avere un sistema di dati ben organizzato è fondamentale oggi per ogni azienda.

Se leggi i miei articoli sai quanto creda nell'analisi dei dati, e quanto un'attenta gestione delle informazioni possa fare la differenza nelle scelte quotidiane delle imprese.

Ogni organizzazione ha oggi la possibilità di sfruttare tecnologie quali Machine Learning e Intelligenza Artificiale per ottenere grande valore dai dati.

Prima però di creare qualcosa di evoluto come un algoritmo predittivo di Machine Learning c'è da fare un lavoro molto importante e al tempo stesso molto lungo: categorizzare e classificare i dati.

Per rendere i dati utilizzabili in un sistema di apprendimento automatico, questi devono essere compresi, classificati e documentati dettagliatamente.

Dobbiamo disporre di un modo logico e ordinato, così da aiutare chiunque acceda alle informazioni a trovare facilmente ciò che sta cercando.

Le buone strategie di organizzazione sono importanti, perché i dati contengono le chiavi per gestire le risorse più preziose della nostra azienda.

Ottenere informazioni dettagliate ci aiuta a migliorare le scelte di business.

Ogni impresa ha una sua relazione particolare con i dati che possiede, nonché esigenze specifiche per organizzarli.

Per questo una piattaforma standard può aiutarci solo in parte a gestire le informazioni raccolte.

Abbiamo perciò la necessità di lavorare su qualcosa di più preciso e dettagliato, affinché il contesto sia ben incluso nei sistemi di produzione aziendali.

In questa fase dobbiamo porci domande importanti, finalizzate a creare un'architettura cucita su misura.

Ad esempio:

  1. Qual è il problema da risolvere? Non esiste un unico problema e non esiste un'unica soluzione. Possiamo sapere da dove partire, ma non sappiamo come fare. In un'analisi così complessa non possiamo esimerci dal raccogliere e comprendere quanti più dati possibili, diretti ed indiretti.
  2. I dati che abbiamo sono completi? Dopo aver individuato l'obiettivo da raggiungere, dobbiamo capire se i dati di cui disponiamo sono sufficienti, oppure dobbiamo raccoglierne altri. Dobbiamo svolgere anche in questo caso un'analisi dettagliata, che definisce quali dati ci occorrono, diretti e indiretti, per influire sul risultato.
  3. Come raccogliamo i dati mancanti? Non sempre è necessario avere tutte le informazioni per poter fare delle analisi di apprendimento automatico. Avere però tutti i dati a disposizione ci permetterà di essere più precisi nelle nostre previsioni. In questi casi è possibile lavorare in parallelo, avviando il processo di analisi e di raccolta dei dati mancanti, i quali verranno integrati mano a mano. Se invece sono necessari immediatamente, li possiamo acquistare da altre compagnie che li hanno già a disposizione.
  4. Il sistema è flessibile e automatizzabile? Idealmente, la scelta dovrebbe essere adattata alle esigenze, ma a volte le definizioni e gli obiettivi cambiano in corso d'opera. La soluzione quindi dovrebbe essere in grado di soddisfare rapidamente le mutevoli esigenze, e di gestire le modifiche senza sacrificare le prestazioni determinate da personalizzazioni dettagliate, tempi brevi per ottenere informazioni precise, e nuove normative a cui aderire.
  5. Tutto ciò è a prova di futuro? La quantità di dati che stiamo gestendo, il numero di fonti da cui provengono, e il numero di utenti che vi accedono probabilmente aumenterà notevolmente nel corso del tempo. È fondamentale dunque che la soluzione sia in grado di gestire un costante incremento di dati e usabilità nei prossimi anni. Pertanto, oltre a sviluppare una soluzione, dobbiamo implementare un metodo che possa essere facilmente replicabile e adattabile alle nuove esigenze.

In qualsiasi buona strategia di organizzazione delle informazioni comprendere la struttura dei dati è la chiave per sbloccarne il valore.

I dati possono essere suddivisi in due tipologie: strutturati o non strutturati.

L'80-90% dei dati mondiali è non strutturato, e questo numero sta crescendo molto più velocemente rispetto alla controparte strutturata.

Organizzare e documentare i dati: architettura

Un Data Lake è un repository centralizzato che archivia dati strutturati e non strutturati nei loro formati nativi, insieme a tag di metadati e identificatori univoci.

Le informazioni vengono archiviate nell'object storage, con le risorse di calcolo gestite separatamente, il che riduce i costi di archiviazione.

Lavorando con enormi quantità di dati, l'idea è quella di conservare i dati grezzi nella loro forma originale in un repository centralizzato (il "lago"), e utilizzarlo in seguito per supportare un'ampia gamma di casi d'uso.

Il principio fondamentale di questo approccio è separare l'archiviazione dall'analisi.

Questa metodologia acquisisce flussi di dati strutturati, semistrutturati e non strutturati, e archivia le informazioni così come sono, senza uno schema.

È una netta deviazione dall'analisi tradizionale, in cui avremmo costruito il nostro database nel modo più adatto a supportare un caso d'uso particolare (transazionale, reporting, analisi "ad hoc", ecc.), e avremmo strutturato le informazioni di conseguenza.

Dopo che i dati sono stati archiviati, possono essere inviati ad altri sistemi che li renderanno utilizzabili per varie applicazioni consumer: Data Warehouse, Machine Learning, strumenti di Business Intelligence, NoSQL database, e decine di altre piattaforme che gestiscono, integrano e strutturano i dati per l'analisi.

Organizzare e documentare i dati: casi d'uso

I dati raccolti vengono in genere utilizzati e organizzati in un repository centralizzato, consolidando sia i dati elaborati che quelli non elaborati, inclusi testo e origini non strutturate come immagini e file multimediali, nonché origini di streaming come i registri del server.

Diverse applicazioni trarrebbero da questi dati scopi operativi, analisi interattive e casi d'uso più avanzati come l'Intelligenza Artificiale e l'Apprendimento Automatico.

Pensiamo ad esempio a quando lavoriamo con i dati in streaming: flussi di informazioni basate su eventi generati di continuo (da dispositivi IoT, monitoraggio del flusso di clic, o registri di prodotti/server) sono tipicamente piccoli record in quantità molto grandi, in formato semi-strutturato (spesso JSON).

Come abbiamo detto prima, dobbiamo creare un metodo ben definito che ci permetta di essere reattivi ai cambiamenti.

Qui di seguito ti voglio condividere gli step chiave:

Organizzare e documentare i dati: sfide

Questi repository sono notoriamente difficili da mantenere.

Quando si esamina il costo totale di proprietà (compresi i costi di progettazione), possono essere molto costosi, e i progetti possono richiedere anche diversi anni per iniziare a fornire un valore reale.

Anche la sicurezza e la governance dei dati devono essere implementate separatamente.

Secondo alcune stime, l'85% di progetti di questo tipo fallisce in quanto non considera i cambiamenti nel tempo.

Gli ostacoli comuni in cui possiamo inciampare sono:

Organizzare e documentare i dati: vantaggi

Questa metodologia, fondata su un repository centralizzato, offre una scalabilità impareggiabile e un livello molto elevato di flessibilità per elaborare i dati utilizzando varie tecnologie, strumenti e linguaggi di programmazione.

La separazione tra archiviazione e elaborazione consente alle aziende di ridurre i costi diretti dell'infrastruttura archiviando grandi volumi di dati, e di ridurre il sovraccarico dell'acquisizione di dati semistrutturati in un magazzino.

Negli scenari appena descritti si possono ottenere numerosi vantaggi con questo tipo di approccio:

Conclusioni

Mappare, documentare e chiarire quali dati abbiamo e come gestirli è il primo passo da fare.

Dobbiamo quindi lavorare con una metodologia ben precisa, come ti ho spiegato in questo articolo.

Noi di Karon non conosciamo il dominio, quello lo conoscete voi, ma abbiamo le competenze per affiancarvi in un progetto di questo tipo.