Virtualizzazione del database - Database virtualization

La virtualizzazione del database è il disaccoppiamento del livello del database, che si trova tra i livelli di archiviazione e applicazione all'interno dello stack dell'applicazione. La virtualizzazione del livello del database consente un passaggio dal fisico, al logico o virtuale. La virtualizzazione consente di raggruppare e allocare le risorse di elaborazione e archiviazione su richiesta. Ciò consente sia la condivisione delle risorse di un singolo server per il multi-tenancy, sia il raggruppamento delle risorse del server in un singolo database logico o cluster. In entrambi i casi, la virtualizzazione del database fornisce una maggiore flessibilità, un'allocazione più granulare ed efficiente delle risorse in pool e un'elaborazione più scalabile.

Partizionamento virtuale dei dati

L'atto di partizionare gli archivi dati man mano che un database cresce è in uso da diversi decenni. Esistono due modi principali in cui i dati sono stati partizionati all'interno dei sistemi di gestione dei dati legacy :

  1. Database di dati condivisi: un'architettura che presuppone che tutti i nodi del cluster di database condividano una singola partizione. Le comunicazioni tra nodi vengono utilizzate per sincronizzare le attività di aggiornamento eseguite da diversi nodi del cluster. I sistemi di gestione dei dati condivisi sono limitati a cluster di nodi a una cifra.
  1. Database Shared-Nothing: un'architettura in cui tutti i dati sono separati in partizioni gestite internamente con limiti di posizione dei dati chiari e ben definiti. I database non condivisi richiedono la gestione manuale delle partizioni.

Nel partizionamento virtuale, i dati logici vengono astratti dai dati fisici creando e gestendo autonomamente un gran numero di partizioni di dati (da 100 a 1000). Poiché vengono mantenute in modo autonomo, le risorse necessarie per gestire le partizioni sono minime. Questo tipo di partizionamento massiccio si traduce in:

  • partizioni piccole, gestite in modo efficiente e con bilanciamento del carico; e
  • sistemi che non richiedono eventi di ri-partizionamento per definire partizioni aggiuntive, anche quando l'hardware viene modificato

Le architetture "Shared-data" e "shared-nothing" consentono la scalabilità attraverso più partizioni di dati, query tra partizioni ed elaborazione delle transazioni senza scansione completa delle partizioni.

Partizionamento orizzontale dei dati

Il partizionamento delle origini del database dai consumatori è un concetto fondamentale. Con un numero maggiore di origini database, l'inserimento di un livello di virtualizzazione dei dati orizzontale tra le origini e gli utenti aiuta ad affrontare questa complessità. Rick van der Lans, autore di numerosi libri su SQL e database relazionali, ha definito la virtualizzazione dei dati come "il processo per offrire ai consumatori di dati un'interfaccia di accesso ai dati che nasconde gli aspetti tecnici dei dati archiviati, come posizione, struttura di archiviazione, API, lingua di accesso e tecnologia di archiviazione. "

Vantaggi

  • Maggiore flessibilità e agilità per l'infrastruttura informatica esistente
  • Prestazioni del database migliorate
  • Mettere in comune e condividere le risorse di elaborazione, suddividendole (multi-tenancy) o combinandole (clustering)
  • Semplificazione dell'amministrazione e della gestione
  • Maggiore tolleranza ai guasti

Guarda anche

Riferimenti

link esterno