Introduzione ai Big Data Analytics e all'evoluzione della gestione dati

Slide dall'Università sull'Introduzione ai Big Data Analytics. Il Pdf esplora l'evoluzione delle tecnologie di gestione dei dati, dai modelli flat file ai sistemi relazionali e NoSQL, e copre il Cluster Computing e il Cloud Computing per la progettazione di sistemi Big Data in Informatica.

Mostra di più

27 pagine

Introduzione
Argomenti
Presentazione del corso
Introduzione:
1. Percorso storico delle organizzazioni dei dati
2. Flat files, Modelli gerarchici e reticolari. Il modello relazionale. NoSQL
3. Cluster Computing
4. Cloud Computing
5. Convergenza tra cluster e cloud computing
6. Conclusioni
2
Obiettivi
Gli obiettivi della lezione sono:
presentare il corso di Sistemi di Big Data Analytics;
illustrare il percorso compiuto negli ultimi decenni dalle tecnologie software
di organizzazione e gestione dei dati e dalle architetture dei sistemi di
elaborazione;
illustrare le caratteristiche dei Data Base Management System (DBMS)
relazionali e di nuova generazione;
fornire evidenza di come l’attuale offerta dei servizi tecnologicamente più
avanzati, quali le architetture cluster ed il cloud computing, siano al giorno
f’oggi determinanti per l’abiliyazione di modelli di business capaci di
cogliere le opportunità offerte dall’economia globale.
3
Presentazione del corso
Il corso ha come obiettivo quello di mettere i partecipanti in grado di
progettare ed implementare un sistema di Big Data Analytics.
Verranno dapprima illustrati i motivi per cui i sistemi di Big Data Analytics sono
il naturale contesto per l’implementazione di applicazioni industriali di
Intelligenza Artificiale.
Dopo aver approfondito i concetti architetturali e funzionali dei sistemi di Big
Data e del software di Analytics, i partecipanti realizzeranno, durante lo
svolgimento del corso, un sistema near real time di Big Data Analytics,
sufficientemente rappresentativo, nell’architettura, nelle funzionali e nella
complessità, di un sistema reale.
Verranno utilizzati, sia per il software di base che per i linguaggi di sviluppo del
software applicativo, esclusivamente componenti open source.
4

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

Introduzione

x

01010101011010 (C )-GSM-HSDPA -·· 10110101001010 010101010

Argomenti del Corso

  • Presentazione del corso
  • Introduzione:
    1. Percorso storico delle organizzazioni dei dati
    2. Flat files, Modelli gerarchici e reticolari. Il modello relazionale. NoSQL
    3. Cluster Computing
    4. Cloud Computing
    5. Convergenza tra cluster e cloud computing
    6. Conclusioni

Obiettivi della Lezione

2Obiettivi

  • Gli obiettivi della lezione sono:
    • presentare il corso di Sistemi di Big Data Analytics;
    • illustrare il percorso compiuto negli ultimi decenni dalle tecnologie software di organizzazione e gestione dei dati e dalle architetture dei sistemi di elaborazione;
    • illustrare le caratteristiche dei Data Base Management System (DBMS) relazionali e di nuova generazione;
    • fornire evidenza di come l'attuale offerta dei servizi tecnologicamente più avanzati, quali le architetture cluster ed il cloud computing, siano al giorno f'oggi determinanti per l'abilitazione di modelli di business capaci di cogliere le opportunità offerte dall'economia globale.

3

Presentazione del Corso

  • Il corso ha come obiettivo quello di mettere i partecipanti in grado di progettare ed implementare un sistema di Big Data Analytics.
  • Verranno dapprima illustrati i motivi per cui i sistemi di Big Data Analytics sono il naturale contesto per l'implementazione di applicazioni industriali di Intelligenza Artificiale.
  • Dopo aver approfondito i concetti architetturali e funzionali dei sistemi di Big Data e del software di Analytics, i partecipanti realizzeranno, durante lo svolgimento del corso, un sistema near real time di Big Data Analytics, sufficientemente rappresentativo, nell'architettura, nelle funzionalità e nella complessità, di un sistema reale.
  • Verranno utilizzati, sia per il software di base che per i linguaggi di sviluppo del software applicativo, esclusivamente componenti open source.

4Presentazione del corso

  • La piattaforma software di riferimento è Python / Apache Spark / R che, oltre a rappresentare le tecnologie più utilizzate nello sviluppo di sistemi di Big Data Analytics, costituiscono il cuore di un ecosistema dalle infinite potenzialità di applicazione industriale. Verranno inoltre illustrati i principi base del Version Control System ed utilizzato il software GIT per la sua implementazione.
  • Gli studenti verranno guidati nell'istallazione di tutte le componenti software, all'interno di una macchina virtuale VM VirtualBox (Oracle). Il sistema operativo prescelto è Ubuntu 19.04 Desktop.
  • Gli argomenti teorici verranno affiancati da esempi collaudati, in modo da consentirne una rapida e completa comprensione in ogni fase del corso. . Il corso prende a riferimento il dominio applicativo del manufacturing, all'interno del quale verrà sviluppato un semplice ma indicativo sistema di Big Data Analytics.

5

5

Obiettivi del Corso per i Partecipanti

Presentazione del corso

  • Al termine del corso, i partecipanti saranno in grado di:
    • conoscere ed implementare l'architettura e le principali componenti di un sistema di Big Data Analytics;
    • installare ed utilizzare la piattaforma Ubuntu/Python/Apache Spark/R/MariaDB;
    • progettare e sviluppare semplici moduli software per ogni fase del ciclo elaborativo di un sistema di Big Data Analytics in Python/Apache Spark/R;
    • eseguire la ingestion, sia batch che streaming, di dati esterni (raw data), aggiornare il Data Lake ed il Data Warehouse, eseguire alcuni algoritmi di Machine Learning;
    • Implementare un semplice Distributed Version Control System mediante i software Git e BitBucket.

6DBMS gerachici e reticolari DBMS Relazionali

Percorso Storico delle Tecnologie

Percorso storico V

Hierarchical DBMS

Relational DBMS

Data Warehouse

Cloud Computing

Data Lake

1970

1980

1990

2000

2010

2020

Cluster computing

NoSQL

Flat files

Network DBMS

Integrazione di basi dati

Big Data

ad hoc procedures

owner DML

SQL

Business Intelligence xOLAP, Data Mining ML, DL, NLP, Analytics

7

negli anni 70 si utilizzavano linguaggi procedurali come Assembler, Cobol, Fortran e strutture dati FLAT FILES (strutture dati sequenziali) L'accesso ai dati era a carico del programmatore. Non c'erano DBMS

Percorso storico

  • In questa lezione ripercorreremo brevemente la storia delle tecnologie di data storage, cioè delle modalità di memorizzazione e gestione dei dati offerte dai sistemi di elaborazione, a partire dagli anni '70. . Al giorno d'oggi le architetture cluster ed il cloud computing sono le tecnologie fondamentali per lo sviluppo di applicazioni enterprise capaci di abilitare e supportare modelli di business data-driven.
  • La conoscenza di come nel corso degli ultimi decenni le tecnologie si siano sviluppate ed avvicendate, nonché delle difficoltà che le precedenti generazioni di programmatori hanno affrontato, aiuta a comprendere appieno le caratteristiche e le potenzialità delle tecnologie attuali.
  • In particolare si capirà il grande salto di qualità avutosi con l'avvento dei RDBMS, che hanno comportato la disponibilità del linguaggio SQL e la disponibilità dei metadati.

8Flat files storage

  • Negli anni '70, dominati dalle architetture mainframe e dalla IBM, la prima soluzione dopo le schede ed i nastri furono i dischi magnetici e le organizzazioni sequenziali, seguite da quelle sequenziali con indici. . Queste tecnologie erano sotto il controllo diretto del file system e non erano corredate di software di base di più alto livello per l'interazione tra i dati ed il software applicativo.
  • Pertanto sia i metadati che il modello dei dati erano a carico del programmatore, ed erano embedded all'interno del software applicativo. Era quindi totalmente a carico del programmatore l'implementazione dell'accesso e dell'aggiornamento dei dati.
  • Il software applicativo risultava pertanto estremamente personalizzato ed eterogeneo.
  • Esempi celebri sono SAM (Sequential Access Method), ISAM e VSAM della IBM, gestiti tipicamente mediante linguaggio COBOL.

9

Database Gerarchici

Database gerarchici

  • Alla fine degli anni '70 vennero rilasciati i DBMS gerarchici, il più famoso dei quali era il DL/1 della IBM.
  • Un database gerarchico è contraddistinto da:
    1. naturale rappresentazione delle relazioni gerarchiche (uno a molti) presenti nella realtà;
    2. implementazione fisica delle relazioni mediante liste di puntatori ed indici;
    3. perdita di efficienza nell'implementazione e gestione di relazioni molti a molti, con conseguente ridondanza logica e fisica;
    4. inevitabile utilizzo di spazio eccessivo e perdita dei collegamenti durante gli aggiornamenti;
    5. procedure di accesso ai dati ancora in buona parte demandate all'esperienza ed impostazione metodologica dei programmatori.

10Database reticolari

  • Il modello reticolare di database (network database) viene proposto da Charles Bachman nel 1969, come estensione del modello gerarchico, per superarne i limiti.
  • Il modello reticolare è caratterizzato da:
    1. rappresentazione diretta delle relazioni molti a molti;
    2. implementazione delle associazioni tra dati mediante liste di puntatori fisici ed indici;
    3. difficoltà nella navigazione delle strutture reticolari non particolarmente semplici;
    4. perdita dell'integrità e della consistenza delle associazioni implementate, a causa delle difficoltà nella navigazione ed aggiornamento dei dati.
  • Casi di prodotti industriali sono: IDMS (Cullinet); IDS, nato dai laboratori della General Electric, divenuti poi Honeywell Information Systems.

11

Esempi di Schemi Dati

Esempi di schemi dati gerarchici e reticolari

College

Department

Infrastructure

Course

Teachers

Students

+

+

Theory

Labs

Schema gerarchico

Cunaver

Company

You Tube

Cuvoorser

Schema reticolare

12Il modello relazionale

  • Il modello relazionale o RDBMS (Relational Data Base Management System) si basa su alcuni concetti dell'algebra, quali gli insiemi, le relazioni tra insiemi, prodotto cartesiano ed operatori logici.
  • Fu introdotto per la prima volta dal celebre articolo «A Relational Model of Data for Large Shared Data Banks", pubblicato nel 1970 da Edgar F. Codd, ricercatore della IBM. Nel 1981 E. F. Codd pubblico un secondo, altrettanto celebre articolo, dal titolo "Relational Database: A Practical Foundation for Productivity".
  • Esempi di RDBMS disponibili sul mercato sono:
    • ORACLE, della omonimia azienda;
    • Ingres, della Università di Berkeley (California);
    • DB2, della IBM;
    • Postgres and MySQL (open source);
    • Microsoft SQL Server.

13

Caratteristiche del Modello Relazionale

Il modello relazionale

  • Principali caratteristiche:
    • si basa sui concetti algebrico/insiemistici di attributo primario e secondario, relazione, partizione, entità, tupla, cardinalità;
    • è naturalmente integrato con una metodologia di modellizzazione dei dati, denominata «Entity-Relationship Model», che supporta il progettista nel disegno di modelli dati privi di ridondanza e consistenti rispetto agli aggiornamenti;
    • è fornito di un DDL (Data Definition Language), specifico per la gestione dei metadati e per l'implementazione dello schema fisico;
    • è fornito di un DML (Data Manipulation Language) per la ricerca e l'aggiornamento dei dati;
    • DDL e DML aderiscono allo standard SQL (Structured Query Language) emanato dalla ISO (International Organization for Standard).

14Flat File Storage

Esempio: Un sistema di archiviazione su nastro magnetico utilizzato per la gestione dei dati dei dipendenti in una grande azienda degli anni '70. Ogni record di dipendente era memorizzato uno dopo l'altro in un grande file sequenziale su nastro. Pro: La semplicità è il principale vantaggio di questo approccio. I dati possono essere facilmente letti e scritti con un minimo di sovraccarico, rendendolo efficace per operazioni batch che processano grandi volumi di dati. Contro: L'accesso ai dati è lento e inefficiente per le query che richiedono la ricerca di record specifici, poiché potrebbe essere necessario leggere una grande quantità di dati prima di trovare il record desiderato. Inoltre, l'aggiornamento dei dati può essere complesso e richiedere la riscrittura dell'intero file.

Database Gerarchici

Database Gerarchici

Esempio: IBM Information Management System (IMS) usato in una banca per gestire conti e transazioni. I dati erano organizzati in una struttura ad albero, con il conto cliente come nodo principale e le transazioni come nodi figli. Pro: Offre accesso efficiente ai dati attraverso percorsi predefiniti, il che è ideale per applicazioni con relazioni chiaramente definite e query prevedibili. Contro: La flessibilità è limitata. Le relazioni many-to-many sono difficili da rappresentare, e le modifiche alla struttura dei dati possono richiedere un'ampia ristrutturazione.

Database Reticolari

Database Reticolari

Esempio: Integrated Data Store (IDS) per la gestione dell'inventario in un magazzino. Ogni articolo poteva essere parte di più categorie, e ogni categoria poteva contenere molti articoli, formando una rete di relazioni. Pro: Maggiore flessibilità rispetto ai modelli gerarchici, permettendo relazioni complesse tra i dati. Contro: La complessità della struttura a rete può rendere le query e l'aggiornamento dei dati più complicati e meno performanti, soprattutto con l'aumento della dimensione del database.

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.