Concetti Chiave
- La replica delle tabelle permette ai nodi di operare come con un database centralizzato, ma può causare problemi di consistenza durante gli aggiornamenti.
- Esistono due modelli di replica: tight consistency, con aggiornamenti in tempo reale, e loose consistency, con un tempo di latenza.
- Il DDBMS gestisce l'accesso ai dati distribuiti, utilizzando il local e global Query optimizer per ottimizzare le interrogazioni.
- I database distribuiti offrono vantaggi come autonomia locale, prestazioni migliorate, affidabilità, modularità e costi ridotti.
- Svantaggi includono complessità di progettazione, problemi di sicurezza, difficoltà nell'assicurare l'integrità e costi infrastrutturali elevati.
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.
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:
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:
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 modelli di replica dei dati menzionati nel testo?
- Quali sono i vantaggi principali della distribuzione dei dati tramite replica delle tabelle?
- Quali problemi possono sorgere con la replica dei dati in un database distribuito?
- Come il DDBMS gestisce le interrogazioni su dati distribuiti?
- Quali sono le sfide legate all'integrità dei dati in un sistema di replica?
Il testo menziona due modelli di replica dei dati: tight consistency, che richiede aggiornamenti in tempo reale per mantenere la consistenza, e loose consistency, che permette un tempo di latenza tra l'aggiornamento dei dati originali e delle repliche.
I vantaggi principali includono l'autonomia locale, prestazioni migliorate, affidabilità, modularità e costi ridotti rispetto a un sistema centralizzato.
I problemi includono complessità nella progettazione e gestione, sicurezza dei dati, integrità dei dati e costi delle infrastrutture di rete necessarie per mantenere la consistenza.
Il DDBMS utilizza il local Query optimizer per interrogazioni su tabelle locali e il global Query optimizer per interrogazioni su tabelle distribuite, decomponendo la query globale in query equivalenti sui frammenti o duplicati.
Mantenere l'integrità dei dati può essere costoso in termini di risorse di rete necessarie per garantire la consistenza, specialmente nel modello di tight consistency che richiede aggiornamenti in tempo reale.