Passa al contenuto principale

Cos’è l’archiviazione dei database?

Cos'è l'archiviazione dei database?

I dati possono essere archiviati in un database per essere recuperati e analizzati in futuro. Esistono diverse opzioni di archiviazione dei database, ciascuna con differenti livelli di controllo e flessibilità. La presente guida esamina vari modelli di archiviazione disponibili su AWS e fornisce indicazioni su come scegliere la soluzione più adatta al proprio caso d'uso.

Tutti i dati digitali devono essere archiviati su un dispositivo fisico, come la RAM, la cache, i registri interni della CPU, unità a stato solido (SSD) o disco rigido (HDD), su dispositivi NAS (Network-Attached Storage) e SAN (Storage Area Network) o in altri tipi di dispositivi di memoria fisica. L'archiviazione di dati nel cloud si basa su dispositivi fisici sottostanti che eseguono l'archiviazione logica utilizzando la virtualizzazione over top.

Per rendere utili i dati aziendali, è necessario archiviarli nei database. Un sistema di gestione del database è un livello software che si posiziona sopra i dati archiviati. Questo livello software consente di eseguire operazioni come la creazione di database, l'interrogazione e l'analisi dei dati e l'aggiornamento e l'eliminazione delle informazioni. Il software del database può essere archiviato fisicamente separato dai dati stessi.

Come funziona l’archiviazione dei database relazionali?

I database relazionali memorizzano i dati in tabelle costituite da righe e colonne, dove ogni riga rappresenta un record e ogni colonna un attributo di quel record. La struttura dei dati della tabella conserva i record comuni, ripetuti e correlati, come informazioni sui clienti o registrazioni degli acquisti. Ogni tabella può essere associata a un'altra tramite una relazione: ad esempio, un record di acquisto può essere associato al relativo cliente.

Il software di database relazionale che gestisce queste tabelle si occupa delle associazioni tramite chiavi primarie ed esterne. Consente inoltre agli utenti di creare, leggere, aggiornare, eliminare e scrivere dati, oltre a eseguire interrogazioni all’interno delle tabelle usando il linguaggio SQL (Structured Query Language).

L'archiviazione dei database relazionali e dei dati strutturati sottostanti dipende dal sistema di gestione dei database relazionali (RDBMS) utilizzato, poiché i diversi software adottano approcci differenti. Gli esempi includono SQL Server, MySQL, PostgreSQL, Oracle e MariaDB.

Archiviazione gestita di database relazionali

AWS offre soluzioni di archiviazione e gestione di database relazionali per vari sistemi di gestione di database relazionali. I vantaggi di un servizio gestito includono la riduzione del tempo dedicato alla gestione e alla manutenzione dell'infrastruttura e una maggiore sicurezza.

Amazon Relational Database Service

Amazon Relational Database Service (RDS) è un servizio gestito per sistemi come PostgreSQL, MySQL, MariaDB, SQL Server, Oracle e Db2. Amazon RDS si occupa di tutte le attività di gestione del database, come provisioning, applicazione di patch, backup, ripristino, rilevamento e riparazione dei guasti, ed è semplice da configurare e distribuire.

Per l’archiviazione, Amazon RDS offre tre tipologie di volumi Amazon Elastic Block Store (Amazon EBS).

  • Archiviazione a scopo generico supportata da SSD per la maggior parte dei carichi di lavoro,
  • Archiviazione ad alte prestazioni di capacità di IOPS allocata supportata da SSD 
  • Archiviazione magnetica dei dati per la compatibilità con sistemi più datati.

Amazon Aurora

Amazon Aurora è un servizio gestito nativo del cloud per database relazionali PostgreSQL, MySQL e DSQL. Aurora è progettato per sfruttare al massimo le caratteristiche del cloud, come clustering e distribuzione dei dati, offrendo prestazioni superiori, alta disponibilità e tolleranza ai guasti rispetto ai tradizionali servizi RDBMS basati su cloud.

I dati di Amazon Aurora vengono archiviati in un volume di cluster, un unico volume virtuale personalizzato supportato da SSD, con replica dei dati in tre diverse zone di disponibilità all'interno di una regione AWS, garantendo integrità e ridondanza dei dati. Amazon Aurora DSQL offre inoltre ridondanza multi-regione per preservare l'accesso ai dati anche se un endpoint regionale diventa indisponibile. Essendo un’archiviazione proprietario, Aurora consente configurazioni personalizzate con dimensionamento automatico completo, completamente gestita da AWS, eliminando la necessità di interventi manuali da parte dell’utente.

Archiviazione autogestita di database relazionali

L’archiviazione autogestita e i sistema di gestione dei database relazionali su AWS implicano di occuparsi personalmente delle operazioni di amministrazione del sistema e gestione del database. Invece di lavorare su infrastruttura fisica locale, le operazioni vengono eseguite sul cloud.

Amazon EC2 consente di configurare e gestire un'istanza per qualsiasi tipo di sistema di gestione di database relazionali. Gestire e far funzionare le istanze EC2 richiede attività come gestione della sicurezza, configurazione delle prestazioni, monitoraggio e manutenzione. 

Per l’archiviazione sottostante, è possibile scegliere tra Amazon EBS, Amazon Elastic File System (EFS) per uno storage completamente elastico e archivi dell’istanza temporanei. Si può optare per volumi di grandi o piccoli dimensioni, a seconda delle esigenze del database.

Come funziona l’archiviazione di database non relazionali?

I database non relazionali, noti anche come database NoSQL, archiviano, accedono e modellano i dati in modo diverso dai database relazionali, utilizzando strutture di dati distinte. Una varietà di database non relazionali supporta diversi casi d'uso, con ogni archivio dati progettato con una struttura di database diversa.

I database non relazionali includono: database archivio chiave-valore, database di documenti, database a colonne larghe, database a grafo, database in memoria e database di ricerca.

Database NoSQL (non relazionali) gestiti

AWS offre una gamma di servizi gestiti per ogni tipo di database non relazionale.

  • Amazon DynamoDB è un servizio gestito di archiviazione chiave-valore e database di documenti che utilizza archiviazione personalizzata, distribuita e basata su SSD.
  • Amazon DocumentDB (compatibile con MongoDB) è un servizio gestito di database di documenti JSON nativo che utilizza archiviazione personalizzata, distribuita e basata su SSD.
  • Amazon Keyspaces (per Apache Cassandra) è un servizio gestito di database a colonne larghe compatibile con Apache Cassandra che utilizza archiviazione personalizzata, distribuita e basata su SSD.
  • Amazon Neptune è un servizio gestito di database a grafo con archiviazione personalizzata, distribuita e basata su SSD.  
  • Amazon MemoryDB è un servizio di database in memoria compatibile con Valkey e Redis OSS con archiviazione personalizzata, distribuita e basata su SSD. 
  • Amazon ElastiCache è un servizio di caching in memoria compatibile con la cache in memoria Valkey, Redis e Memcached, supportato da RAM e archiviazione di dati EBS.  

Amazon DynamoDB, Amazon DocumentDB, Amazon Keyspaces, Amazon Neptune e Amazon MemoryDB utilizzano tutti tipi di archiviazione personalizzati e proprietari con supporto SSD.

Sebbene Amazon ElastiCache sfrutti l’archiviazione EBS, non offre scelte basate sull’archiviazione o l'accesso degli utenti all’archiviazione a livello di file. ElastiCache è un database non relazionale di tipo cache.

Database non relazionali autogestiti

La configurazione e l'archiviazione di database non relazionali su AWS segue un modello di infrastruttura simile a quello utilizzato per i database relazionali. 

È possibile utilizzare le istanze EC2 per eseguire qualsiasi tipo di database NoSQL, inclusi MongoDB, Redis e HBase. I dati sottostanti possono essere archiviati su Amazon EBS, Amazon Elastic File System (EFS) per un’archiviazione completamente elastica e archivi temporanei di istanze, a seconda del caso d'uso.

Quali sono gli altri tipi di archiviazione per i database?

Non tutti i dati aziendali si adattano perfettamente ai formati di database relazionali o non relazionali, e le moderne analisi dei dati possono spesso gestire anche tipi di dati semi-strutturati e non strutturati. 

Ad esempio, è possibile memorizzare dati semi-strutturati in file Apache Avro su Amazon S3 e analizzarli direttamente, senza dover ristrutturare i dati per adattarli a un database. Amazon S3 può essere utilizzato come soluzione di archiviazione per qualsiasi tipo di dati.

Come scegliere tra il tipo di archiviazione del database?

La scelta tra un servizio di database gestito e uno autogestito determina le possibilità a disposizione per l'archiviazione dei dati.

Controllo completo sull'ambiente

Le organizzazioni che desiderano avere il pieno controllo sul proprio ambiente di database devono optare per soluzioni di database autogestite su AWS. È possibile utilizzare archiviazione e database autogestiti sia per database relazionali che non relazionali. Con una soluzione autogestita EC2, si può accedere direttamente ai dati sottostanti nel file system, che siano memorizzati su EBS, EFS o archivi dell’istanza temporanei.

Riduzione degli oneri di gestione

I servizi gestiti offrono poche o nessuna possibilità di personalizzazione su come e dove i dati vengono archiviati, ma in cambio riducono significativamente gli oneri legati alla gestione dell'infrastruttura. Le organizzazioni migrano tipicamente verso il cloud per poter usufruire di servizi gestiti, riducendo così il tempo e le risorse dedicate alla manutenzione dell'infrastruttura. 

Tuttavia, esistono casi in cui è necessario accedere ai dati a livello di file. Ad esempio, un'applicazione esistente potrebbe richiedere l’accesso diretto ai file, i sistemi isolati (air-gapped) potrebbero richiedere questa configurazione, oppure vincoli normativi sull'integrità dei dati possono imporre l'accesso a livello di file.

La scelta di un servizio di database gestito rispetto a una configurazione di database autogestita dipende dal caso d'uso specifico di ciascun database. Valutare attentamente ogni database all'interno dell'organizzazione, considerando la sua configurazione attuale e i requisiti richiesti, è fondamentale per guidare il processo decisionale. 

La soluzione scelta deve sempre includere un sistema di backup in grado di garantire la ridondanza dei dati in caso di guasti.

In che modo AWS può supportare le tue esigenze di archiviazione del database?

L’archiviazione di database su AWS è più semplice se si scelgono i servizi di database gestiti. Ogni servizio gestito si occupa dell'archiviazione per conto dell’utente, gestendo i dati in modo efficiente senza ulteriori configurazioni da parte degli amministratori. L'utilizzo di servizi gestiti significa che AWS è il tuo gestore di archiviazione no-touch.

Se si adotta un approccio autogestito ai database su AWS, si ha il controllo su come si desidera archiviare i dati. Un approccio autogestito consente l'accesso e il recupero dei dati direttamente dall’archivio fisico.

Che si stia eseguendo una migrazione MySQL o creando un nuovo archivio chiave-valore, esplorare le opzioni del database su AWS

Inizia a creare un'infrastruttura di database moderna che soddisfi le tue esigenze creando un account gratuito su AWS oggi stesso.