Concetti Chiave
- La distribuzione dei dati tramite replica consente a ogni nodo di operare come se avesse un database centralizzato, ma può generare problemi di consistenza durante gli aggiornamenti.
- I modelli di replica dei dati includono tight consistency, che richiede aggiornamenti in tempo reale, e loose consistency, che permette un intervallo di latenza tra aggiornamenti.
- I database distribuiti offrono vantaggi come autonomia locale, prestazioni migliorate, affidabilità, modularità e costi ridotti rispetto ai sistemi centralizzati.
- La complessità nella progettazione e gestione, insieme a problemi di sicurezza e integrità, rappresentano svantaggi significativi dei database distribuiti.
- Il DDBMS ottimizza le interrogazioni locali e distribuite utilizzando rispettivamente il local Query optimizer e il global Query optimizer per garantire efficienza nel recupero dei dati.
Indice
Distribuzione dei dati e consistenza
Nella tecnica di distribuzione dei dati che si basa sulla replica(duplicazione) delle tabelle ,copie delle stesse tabelle sono allocate sui diversi nodi della rete.
In questo modo ogni nodo della rete può funzionare come se avesse a disposizione un database centralizzato,tutto via in caso di aggiornamenti sorgono problemi di consistenza delle informazioni
Esistono diversi modelli di replica dei dati:
Quello detto tight consistency richiede che in ogni istante i dati replicati siano consistenti con gli originali e quindi impone che gli aggiornamenti delle repliche avvengano in tempo reale,mentre quello loose consistency prevede invece che ci sia un tempo di latenza tra l'aggiornamento dei dati originali e quello delle repliche per cui in un certo intervallo di tempo i dati delle repliche possono differire dai dati originali,la decisione sull'istante di aggiornamento delle repliche può essere demandata sia la nodo su cui risiede l'originale sia la nodo che contiene la replica.
Naturalmente il primo caso è quello che offre maggiori garanzie di integrità dei dati,ma richiede anche che la rete di interconnessione dei nodi sia veloce,altrimenti si rischia di rallentare notevolmente l'esecuzione delle transazioni. Nel secondo caso,la mancanza temporanea di consistenza delle informazioni può portare a problemi di inattendibilità delle transazioni,in quanto i dati replicati potrebbero non esser coerenti con l'originale.
Ottimizzazione delle interrogazioni distribuite
Qualunque sia la tecnica di distribuzione dei dati scelta,il DDBMS ne sarà a conoscenza grazie alle informazioni contenute nel suo dizionario dei dati,che gli consente di accedere ai dati allocati localmente o distribuiti su altri nodi in modo totalmente trasparente all'utente.
Per eseguire le interrogazioni che elaborano informazioni memorizzate sulle tabelle locali,il DDBMS si avvale dell'aiuto del local Query optimizer,mentre se l'interrogazione coinvolge informazioni appartenenti a tabella distribuite su più nodi della rete utilizzata il global Query optimizer,che permette di ottimizzare l'esecuzione dell'interrogazione decomponendo la Query globale nelle Query equivalenti sui frammenti o sui duplicati da utilizzare. In questo modo può demandare a ogni nodo,attraverso un modulo chiamato distributed execution monitor,l'elaborazione locale in parallelo delle informazioni richieste,per poi ricevere da ogni nodo i risultati parziali e fornire cosi il risultato complessivo della transazione distribuita.
Dobbiamo ricordare che i database distribuiti costituiscono una realtà non ancora molo diffusa per cui molte delle tecnologie viste sono ancora in fase di sperimentazione.
ECCO ALCUNI VANTAGGI E SVANTAGGI DI TUTTO CIO:
Vantaggi dei database distribuiti
Vantaggi:
Autonomia locale:
Il fatto di distribuire i dati può essere vantaggioso per l'esecuzione delle transazioni in locale che non devono elaborare informazioni appartenenti ad altri nodi. Ciò e particolarmente interessante per le realtà caratterizzate da un'organizzazione decentralizzata.
Prestazioni:
A livello locale diminuiscono i tempi di risposta alle interrogazioni e a libello distribuito e possibile eseguire in parallelo interrogazioni che agiscono su insiemi di dati automi.
Affidabilità:
Se un nodo della rete non funziona,è possibile,nel caso di replica dei dati far riferimento alla copia dei dati su un altro nodo,senza fermare le attività del sistema.
Modularità:
Un'organizzazione distribuita e più semplice da espandere aggiungendo nuovi nodi o connettendosi a nodi preesistenti.
Costi Costa meno creare una rete di computer di potenza ridotta piuttosto che avere un solo elaboratore molto potente.
Svantaggi dei database distribuiti
Svantaggi:
Complessità: la difficoltà di progettazione creazione e gestione di un database distribuito aumentano notevolmente rispetto a un database centralizzato.
Sicurezza: Aumentano notevolmente i problemi di gestione del controllo degli accessi indesiderati ai dati distribuiti in frammenti o replicati
Integrità: mantenere l'0intregrita può costare molto in termini di risorse di rete da utilizzare per garantire la consistenza dei dati.
Costi: aumentano i costi delle infrastrutture di rete che devono garantire prestazioni efficienti per gestire la complessità legata alla distribuzione dei dati.
Domande da interrogazione
- Quali sono i principali modelli di replica dei dati in un database distribuito?
- Quali vantaggi offre la distribuzione dei dati in un database?
- Quali sono le sfide associate alla gestione di un database distribuito?
- Come funziona l'ottimizzazione delle interrogazioni in un database distribuito?
- Qual è l'importanza della velocità della rete nella replica dei dati?
I principali modelli di replica dei dati sono il "tight consistency", che richiede che i dati replicati siano sempre consistenti con gli originali, e il "loose consistency", che consente una latenza tra l'aggiornamento dei dati originali e quello delle repliche, portando a possibili incoerenze temporanee.
I vantaggi includono l'autonomia locale per le transazioni, prestazioni migliorate con tempi di risposta ridotti, maggiore affidabilità grazie alla replica dei dati, modularità per l'espansione della rete e costi inferiori rispetto a un singolo elaboratore potente.
Le sfide includono la complessità nella progettazione e gestione, problemi di sicurezza legati al controllo degli accessi, difficoltà nel mantenere l'integrità dei dati e costi aumentati per le infrastrutture di rete necessarie.
Il DDBMS utilizza un local Query optimizer per interrogazioni locali e un global Query optimizer per interrogazioni distribuite, decomponendo le query globali in query equivalenti sui frammenti o duplicati, e gestendo l'elaborazione locale in parallelo.
La velocità della rete è cruciale nel modello di "tight consistency", poiché aggiornamenti in tempo reale richiedono una rete veloce per evitare rallentamenti nelle transazioni e garantire l'integrità dei dati.