Data Lake: Quali database scegliere?

Questo articolo fa parte di una serie scritta in collaborazione con Raoul Alfredo Rocher e Massimo Loaldi. Come IT Solution Architect in ambito Cloud e Intelligenza artificiale vogliamo proporvi alcune brevi review per facilitare l'uso e l'adozione di tecnologie emergenti e innovative.

Nei precedenti articoli è stato evidenziato come i dati il nuovo petrolio, e siano la parte essenziale e fondamentale per l’intelligenza artificiale, la materia prima, il carburante.

Maggiore è il numero di dati a disposizione maggiori sono le informazioni che possono potenzialmente essere estrapolate, tuttavia dobbiamo assicurarci che i dati siano usufruibili, aggiornati, accurati ed integrati.

Ad oggi si stima che il primo e più grande ostacolo per implementare un’efficace ed efficiente intelligenza artificiale stia proprio nella gestione dei dati. Molte aziende hanno sistemi informativi a silos, dove reparti diversi non comunicano adeguatamente o hanno gli dati similari/complementari in forme diverse; tanti dati sono strutturati in database, altri sono destrutturati e contenuti in file di diversa natura: documenti di testo, fogli elettronici, presentazioni, oppure email; altri ancora sono sporadicamente recuperati dai social network e difficilmente catalogati. Come misurare la qualità dei dati all’interno dei nostri database? L’ISO 25401 enuncia quali sono le caratteristiche che i dati debbono avere per essere di qualità:

  • Accuratezza: Correttezza rispetto alla realtà.
  • Attualità: Il dato deve essere aggiornato nel tempo.
  • Coerenza: Dato non contradditorio con altri dati nel sistema.
  • Completezza o Significatività: Tutti i componenti del dato sono inseriti nel sistema, non solo una parte.
  • Credibilità: La fonte del dato deve essere certa.
  • Tracciabilità: Gli accessi al database devono essere registrati.
  • Riservatezza: Utilizzato solo da utenti autorizzati.
  • Disponibilità: Il dato deve essere disponibile in qualsiasi momento e interrogabile.
  • Portabilità: Il dato deve essere gestibile e migrabile in altri ambienti di lavoro.
  • Ripristinabilità: Il dato deve necessariamente essere salvato in un ambiente sicuro e deve avere una copia di sicurezza.
  • Accessibilità: Il dato deve essere accessibile anche da persone diversamente abili.
  • Comprensibilità: Significato del dato chiaro e immediato e non deducibile.
  • Conformità: Il dato deve essere conforme alle norme vigenti.
  • Efficienza: Il dato deve essere gestito in tempi accettabili.
  • Precisione: Dato coerente e preciso.

Come dicevamo i dati possono essere strutturati in forme tabellari in database relazionali SQL, oppure destrutturati e contenuti in database NoSQL(Not Only SQL) di forma documentale, a grafo, wide-column e key-value. I database possono essere on-premise o allocati in cloud, forniti in open source o da aziende produttrici.

Una domanda che sorge spontanea è dove memorizzare questi dati eterogenei.

La risposta è semplice: Il data lake. Il data lake è da intendersi come l’insieme delle tecnologie che permettono di memorizzare e di storare dati di varia natura, e l’armonizzazione/organizzazione degli stessi affinché possano essere analizzati e dati in pasto all’intelligenza artificiale per estrarne informazioni di valore per il business.

Quante varianti! Ma di quali database ho bisogno?

Quando si deve scegliere il posto migliore per registrare i dati bisogna innanzitutto valutare di che tipo di dati si tratta, quali informazioni si vogliono estrarre e da dove arrivano.

Qui di seguito una tabella dove si è voluto evidenziare le maggiori differenze tra database SQL e NoSQL.

SQL (Anni 70):

  • Tipologia: Struttura a schema fisso, tabellare, ogni elemento è identificato da coppia riga, colonna.
  • Quando: Database relazionali utilizzati quando i dati possono essere memorizzati in forma tabellare, tipicamente quando ci sono pochi null values e quando i dati sono poco mutabili nel tempo. Per registrare nuovi dati l’intero db deve essere aggiornato.
  • Vantaggi:Memorizzazione logica e semplice per l’uomo, interrogazione attraverso il linguaggio SQL.
  • Svantaggi: Gestione dei null values.

NOSQL (Anni 2000):

  • Tipologia:Esistono i db a grafo, db documentali, column family e key-value.
  • Quando: I dati vengono registrati senza uno schema fisso, si definiscono schema free o schema less. Sono perfetti per dati che mutano nel tempo in quanto ogni elemento ha una propria struttura variabile.
  • Vantaggi:Ottimo per la scalabilità dell’applicazione, offre una gestione semplificata dei dati non strutturati
  • Svantaggi:Necessario un background informatico per gestire i dati nei db

Tra i database SQL spicca il database relazionale di IBM DB2. IBM DB2 esiste in varie edizioni, tra le quali la Express-C è di uso libero. È disponibile in Cloud sotto la piattaforma IBM Cloud. IBM DB2 oggi si apre anche all’approccio ad oggetti e a strutture non relazionai quali Json ed XML. IBM mette a disposizione ampia documentazione tecnica su IBM Cloud, leggi qui come istanziare DB2, passo dopo passo.

All’interno di IBM Cloud è possibile istanziare diversi tipi di database, sia SQL sia NoSQL.

No alt text provided for this image

Come si evince dall’immagine in alto, IBM fornisce anche database NoSQL come IBM Cloudant, IBM Compose for JanusGraph. Per approfondimenti su tutti i database gestiti su cloud pubblico visitare il sito: https://www.ibm.com/cloud/databases

Per entrare nel dettaglio, alcuni database conosciuti nel campo relazionale sono Microsoft SQL, Oracle, MySQL, Sap Hana, EDB Postgres e Kinetica. Nella categoria non relazionale ci sono, tra gli altri, MongoDB (orientato ai documenti), Neo4j (modello grafico, o a grafo) e Redis (modello key-value).

Ora immaginiamoci di avere a disposizione dati registrati in diversi database di varia natura come quelli precedentemente citati, immaginiamoci di aggiungerne dei dati carpiti dai post sui social network, quello che dobbiamo fare ora è gestirli in modo sicuro come se fossero un tutt’uno: tutti parte di un unico Data lake.

IBM, in partnership con Cloudera, offre prodotti e servizi di livello aziendale per aiutare a creare un data lake e successivamente gestire, governare, accedere ed esplorare i big data. Queste soluzioni combinano la tecnologia open source di livello aziendale economicamente conveniente con funzionalità di analytics in tempo reale.

A tale proposito è molto rilevante l’aiuto che ci da IBM Watson Knowledge catalog che cataloga, interpreta, regolamenta, analizza e fornisce dati immediatamente utilizzabili.

IBM Watson Knowledge catalog ci permette di trovare e scoprire dati presenti nel nostro data lake dove tutti i dati vengono profilati, catalogati e taggati uniformemente così da agevolarne la ricerca ed analisi. Aumenta la collaborazione tra teams e la condivisione di dati è più agevole e sicura. Infatti, la conformità dei dati è garantita da regole di condivisione e privacy che permettono un uso sicuro dei dati da parte di utenti autorizzati come da policy aziendali.

IBM offre anche strumenti comprovati che portano velocità, AI e machine learning all’analytics dei big data come IBM Db2 Big SQL, un motore ibrido SQL-on-Hadoop che fornisce query di dati avanzate e sicure attraverso le principali fonti di big data di livello aziendale, tra cui Hadoop, storage di oggetti e data warehouse.

Infine, per sfruttare al massimo il nostro data lake e beneficiare della potenza dell’intelligenza artificiale IBM Watson Studio semplifica e adatta la data science per prevedere e ottimizzare i risultati di business.

To view or add a comment, sign in

Explore topics