Skip to Content

Che cos'è l'astrazione dei dati in un DBMS?

L'astrazione dei dati consente agli sviluppatori e agli amministratori di visualizzare solo i dati necessari agli utenti front-end, poiché non devono avere accesso a un intero silo di dati. L'astrazione viene utilizzata in diverse aree di sviluppo software e il livello dei dati di un'applicazione separa il database dall'interfaccia utente. Lo scopo è quello di sfruttare una migliore scalabilità e meno refactoring durante i cambiamenti dell'infrastruttura.

Che cos'è un DBMS?

Un sistema di gestione dei database (DBMS) è uno strumento utilizzato come interfaccia tra un utente e i dati archiviati raw. Utilizzando un DBMS, gli amministratori possono visualizzare i dati memorizzati in un database, aggiornare o inserire nuovi dati ed eseguire query per recuperare i dati. Gli amministratori possono anche gestire elementi del database come procedure memorizzate, trigger, tabelle, indici e altri oggetti. Un DBMS viene spesso utilizzato per creare il database e gestirlo in un secondo momento.

Un esempio di DBMS è MySQL . MySQL è un database relazionale, pertanto gli amministratori utilizzano il DBMS per visualizzare oggetti di database, creare tabelle o eseguire query sui dati. Un'applicazione utilizza il DBMS per eseguire query sui dati o aggiungerli al database. Poiché MySQL è un database relazionale, i dati vengono memorizzati in tabelle con vincoli su ogni colonna per controllare il tipo di dati memorizzati.

Un altro esempio di DBMS è MongoDB . MongoDB è un database open source NoSQL che memorizza dati non strutturati. I dati vengono archiviati in documenti e gli amministratori possono memorizzare qualsiasi numero e tipo di elemento nel documento. Gli amministratori utilizzano il DBMS MongoDB per gestire la struttura del database e le applicazioni lo utilizzano per eseguire query e aggiungere dati.

Che cos'è l'astrazione dei dati?

L'astrazione dei dati è una funzione logica in un'applicazione per separare i dati raw dal front-end. In parole povere, il livello dei dati gestisce la connessione al database e lo interroga dal front-end. L'astrazione dei dati consente all'applicazione front-end di eseguire query sui dati indipendentemente da dove sono archiviati. Gli sviluppatori possono quindi sostituire i database di back-end senza rifattorizzare grandi sezioni del codice per connettersi e lavorare con un nuovo motore di database.

Ad esempio, supponiamo di utilizzare MongoDB in sviluppo fino a quando non sarà possibile determinare il tipo di dati necessari per lavorare. In questo modo, è necessario utilizzare MySQL in produzione. Il livello di astrazione dei dati gestisce la connessione al database e le query da MongoDB e MySQL senza influire sul codebase front-end. Gli utenti non sono consapevoli delle modifiche apportate ai motori di database, ma possono comunque ottenere le informazioni di cui hanno bisogno.

Livelli di astrazione dei dati

L'astrazione dei dati è un termine generico che gestisce diversi aspetti della gestione dei dati. Quando gli sviluppatori creano un'applicazione e lavorano con gli amministratori, ci sono tre livelli di astrazione: fisica, logica e visiva. Ecco una breve spiegazione di questi livelli:

  • Livello fisico/interno: Questo livello comprende l'infrastruttura che ospita il database, comprese le informazioni di rete per il server e la posizione del server. Ad esempio, i componenti fisici potrebbero essere una macchina virtuale cloud con CPU di livello medio e risorse di memoria.
  • Livello logico/concettuale: Il livello logico è il codice utilizzato per connettersi al livello fisico. Contiene la logica per connessioni, query e gestione degli errori. I livelli logici possono includere il codice da collegare a più database a seconda dei fattori di input.
  • Visualizzazione/livello esterno: L'applicazione front-end consente agli utenti di visualizzare i dati. Questo livello di astrazione è il più lontano dalla posizione di data storage raw, ma formatta e presenta i dati al visualizzatore in modo che possano essere utili.

Architetture di database multilivello

I livelli di astrazione possono essere livelli logici integrati nell'applicazione, ma possono anche essere posizionati su risorse fisicamente diverse. Lo scopo dell'astrazione multilivello è semplificare notevolmente la scalabilità di un singolo livello senza influire sugli altri livelli. L'architettura multilivello è anche denominata "architettura n-tier" in cui gli amministratori possono scegliere di avere più livelli per ciascun componente dell'applicazione.

È normale avere tre livelli in un'architettura multilivello: presentazione, dati e applicazione. Ecco una breve descrizione di questi livelli:

  • tier di dati: Questo tier memorizza i dati ed esegue il motore di database. Può essere su un server bare bones dedicato o su una macchina virtuale. I database possono anche funzionare in cluster in un data warehouse con pipeline di dati complesse a seconda dello scenario del caso d'uso.
  • tier applicazione: Questo tier gestisce l'applicazione. Ad esempio, se il front end è un'applicazione web personalizzata, un server web memorizza i file dell'applicazione ed li esegue. Gli utenti si connettono a questo server per eseguire l'applicazione.
  • tier di presentazione: Il tier di presentazione è diverso dal tier di applicazione anche se sembra simile. I tier delle applicazioni hanno la base di codice e la logica delle applicazioni, mentre il tier di presentazione è quello che l'utente vede. In un'applicazione web, il tier di presentazione è il CSS e l'HTML utilizzati per formattare e visualizzare il codice dell'applicazione per l'utente.

Quali sono i vantaggi dell'astrazione dei dati?

La separazione dei livelli di dati dall'applicazione front-end consente una scalabilità granulare delle risorse. Anche le modifiche al livello dei dati non influiscono sul front-end, pertanto l'astrazione dei dati limita il refactoring del codice quando viene utilizzato un altro motore di database o il livello dei dati cambia posizione.

Supponiamo, ad esempio, che la tua organizzazione decida di spostare il database nel cloud da posizioni on-premise. Solo il livello dati deve cambiare e non sono necessarie modifiche al codice dell'applicazione front-end. Gli amministratori possono scalare le risorse per il livello di dati senza la necessità di scalare le risorse per il livello di applicazione se non è necessario.

Conclusione

In un'applicazione enterprise, disporre di un livello di astrazione dei dati per connettersi al DBMS consente di eseguire lo scale-up o lo scale-down. È inoltre possibile apportare modifiche all'architettura del tier di dati nell'architettura senza dover apportare molte modifiche al codice di base. È possibile utilizzare più motori di database o spostare il database in una nuova posizione senza costi generali di gestione.

Mentre pianifichi la tua architettura di astrazione dei dati, dai un'occhiata a Pure Storage ® FlashArray™ per il block storage e il file storage unificato. Per lo storage nel cloud, dai un'occhiata al cloud block storage di Pure Storage.

04/2024
Disaster Recovery for MySQL with FlashArray
Detailed guidance for choosing a data-protection and disaster-recovery solution for MySQL databases with Pure Storage FlashArray.
White paper
24 pagine
CONTATTACI
Domande?

Hai domande o commenti sui prodotti o sulle certificazioni di Pure?  Siamo qui per aiutarti.

Prenota una demo

Prenota una demo per vedere come puoi trasformare i tuoi dati in risultati concreti con Pure. 

Telefono: +39 02 9475 9422

Media: pr@purestorage.com

 

Pure Storage Italia

Spaces c/o Bastioni di Porta Nuova, 21

Milano, 20121

+39 02 9475 9422

italia@purestorage.com

CHIUDI
Il browser che stai usando non è più supportato.

I browser non aggiornati spesso comportano rischi per la sicurezza. Per offrirti la migliore esperienza possibile sul nostro sito, ti invitiamo ad aggiornare il browser alla versione più recente.