Vai al contenuto principale
BlogBasi di datiFondamenti di database

Fondamenti di database

Fondazioni di database Immagine eroe

Questo post fa parte della serie Cloud Computing Foundations. Per approfondire le vostre competenze, seguite il nostro corso di certificazione Introduction to Cloud Computing.

Forse ricorderete i database dal nostro articolo sui tipi di risorse cloud

Ripassiamo per sicurezza. 

Un database è una raccolta di informazioni strutturate che possono essere archiviate su un server e a cui si accede facilmente quando necessario, come una biblioteca. I database in cloud sono ospitati da fornitori di cloud di terze parti, offrono funzionalità di scalabilità e di disaster recovery e sono solitamente controllati da un sistema di gestione dei database (DBMS). I database sono utilizzati da chiunque abbia bisogno di recuperare dati, soprattutto da chi ha a che fare con grandi quantità di dati. 

È importante notare che avere una raccolta di dati e avere un'interfaccia per quei dati sono due cose diverse. Ad esempio, un'applicazione per la passeggiata del cane può raccogliere e memorizzare dati, ma un DBMS funziona come sistema in grado di comunicare con il database e con qualsiasi altro servizio che abbia bisogno dei dati, fungendo da interfaccia.  

Sebbene esistano diverse varietà di sistemi di gestione di database, esistono due tipi comuni: relazionale (SQL) e non relazionale (NoSQL). 

Un database relazionale è strutturato e i dati inclusi sono organizzati in tabelle. I dati sono correlati tra loro. I NoSQL (database non relazionali) sono orientati ai documenti e i dati non sono necessariamente correlati tra loro.

Vediamo questi due tipi di database.

Database SQL

Il linguaggio SQL (Structured Query Language) è un linguaggio di programmazione utilizzato per manipolare i dati in un sistema di gestione di database relazionali (RDBMS). L'RDBMS è il software che utilizziamo per gestire, memorizzare, interrogare e recuperare i dati dal database. 

Un database relazionale si riferisce al fatto che è possibile creare varie relazioni tra diversi dati in più tabelle (dove sono memorizzati i dati).

Osservate la tabella qui sopra. Supponiamo che un'applicazione web di social media abbia una singola tabella all'interno di un database che memorizza l'ID, il nome e la data di nascita di un utente. Poiché ogni ID utente è unico, può essere utilizzato per collegare i dati dell'utente in una tabella a un'altra tabella che contiene la cronologia dei messaggi dell'utente. Questo tipo di relazione si chiama relazione uno-a-molti, poiché un utente può avere più messaggi associati al suo ID profilo. Tuttavia, i messaggi non possono essere inviati da più di un ID profilo.

SQL aiuta a gestire e manipolare i dati in un database relazionale. Permette di creare, modificare e recuperare dati da tabelle all'interno del database, nonché di gestire le relazioni tra tabelle diverse. 

Forse avete sentito parlare di PostgreSQL e MySQL. Si tratta di due popolari RDBMS che utilizzano entrambi SQL. Vediamo rapidamente cosa fanno e come si differenziano. 

PostgreSQL (spesso chiamato semplicemente Postgres) è noto per la sua scalabilità e precisione e perché è in grado di gestire query complesse e grandi insiemi di dati. PostgreSQL è noto anche per le sue caratteristiche avanzate, come il supporto per l'indicizzazione avanzata e la ricerca full-text, che lo rendono una scelta popolare per le applicazioni che richiedono un'analisi avanzata dei dati.

D'altra parte, MySQL è noto per la sua velocità, flessibilità, scalabilità e facilità d'uso. Viene spesso utilizzato per le applicazioni web che richiedono un rapido accesso in lettura/scrittura ai dati, come i sistemi di gestione dei contenuti o le piattaforme di e-commerce. 

Una differenza fondamentale tra i due sistemi è l'approccio diverso all'integrità dei dati. PostgreSQL è noto per il suo rigore nell'applicazione dell'integrità dei dati. Pone maggiore enfasi sulla garanzia che i dati siano coerenti e accurati. MySQL, invece, è noto per essere più indulgente e consentire una maggiore flessibilità nella gestione dei dati. Questo è anche il motivo per cui MySQL è famoso per la sua velocità. Ogni sistema ha i suoi punti di forza e i suoi limiti, come la maggior parte degli strumenti. 

Approfondiamo il tema dei database NoSQL.

Database NoSQL

I database NoSQL utilizzano un modello di dati non relazionale per memorizzare e recuperare i dati. A differenza dei database relazionali, che utilizzano tabelle con colonne e righe fisse, i database NoSQL possono memorizzare i dati in vari formati, tra cui i formati chiave-valore, documento, colonna-famiglia e grafo.

Uno dei principali vantaggi dei database NoSQL è che sono più flessibili dei database SQL. È facile aggiungere o modificare i dati senza dover apportare modifiche significative alla struttura del database. Questo rende i database NoSQL ideali per archiviare grandi insiemi di dati non strutturati.

I database NoSQL sono scalabili e in grado di gestire grandi volumi di dati e di gestire un traffico elevato. Molti 

Esaminiamo i tipi più comuni di database NoSQL.

Archivi chiave-valore

Gli archivi a valore-chiave sono spesso utilizzati quando è necessario accedere ai dati in modo rapido ed efficiente. Grazie alla loro struttura semplice, possono essere molto veloci e scalabili, il che li rende una buona scelta per le applicazioni con requisiti di alte prestazioni.

Archivi di documenti

Gli archivi di documenti consentono una modellazione flessibile dei dati, che li rende ideali per i sistemi di gestione dei contenuti, le piattaforme di social media e i siti di e-commerce.

Negozi a colonna

Questi database memorizzano i dati in colonne anziché in righe, consentendo un'archiviazione e un recupero efficienti di grandi insiemi di dati. Gli archivi a colonne sono spesso utilizzati per l'analisi e il data warehousing.

Basi di dati grafiche

Nei database a grafo, i dati sono memorizzati come nodi e bordi, il che li rende ideali per memorizzare e analizzare insiemi di dati complessi e interconnessi. I database a grafo sono spesso utilizzati per le reti sociali, i motori di raccomandazione e il rilevamento delle frodi.

Dopo aver illustrato i diversi tipi di database, vediamo come vengono utilizzati i database nel mondo reale.

Come si usano i database?

I database ci permettono di memorizzare grandi volumi di dati in un unico luogo. Con la presenza online della maggior parte delle aziende, i database sono utilizzati in quasi tutti i settori verticali immaginabili. 

Supponiamo di avere un sito web di commercio elettronico. Possiamo memorizzare la cronologia degli ordini dei clienti, i dettagli dei prodotti e i dati dei clienti in un unico posto. Oppure pensiamo ai nostri telefoni cellulari. Utilizzano i database per memorizzare l'elenco dei nostri contatti. I database sono ricercabili e ordinabili, quindi i dati di cui abbiamo bisogno possono essere trovati rapidamente e facilmente. Ad esempio, quando cerchiamo un'e-mail nella casella di posta, interroghiamo un database per trovare il messaggio desiderato.

Acquisite le competenze necessarie per avere successo nel cloud computing seguendo il nostro corso di certificazione Introduction to Cloud Computing.


Commenti

Lascia una risposta

Il vostro indirizzo e-mail non sarà pubblicato. I campi obbligatori sono contrassegnati da *