Database distribuito: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Altri progetti: Aggiunto il parametro "Preposizione" nel template "Interprogetto"
 
(5 versioni intermedie di 4 utenti non mostrate)
Riga 1:
In [[informatica]] un '''database distribuito''' è un [[database]] che si trova sotto il controllo di un [[Databasedatabase management system]] ('''DBMS''') nel quale gli archivi di [[dati]] non sono [[memoria (informatica)|memorizzati]] sullo stesso [[computer]] bensì su più elaboratori o nodi. In altri termini il database in senso fisico può essere dislocato in più [[computer]] situati nello stesso luogo, oppure distribuito in una [[Rete informatica|rete di computer]] connessi tra loro sotto forma appunto di [[sistema distribuito]].
 
== Descrizione ==
Formalmente si ha uno schema logico globale comune a tutti i nodi ed un insieme di schemi logici locali che dipendono funzionalmente da quello globale.
 
Per passare dallo schema logico globale a quelli locali si operano delle trasformazioni chiamate frammentazioni.
 
Riga 9:
* [[confidenzialità|riservatezza]], perché i dati devono essere [[protezione del database|protetti]], per impedire che il database venga danneggiato da interventi non autorizzati ([[attacco ai database]]).
Inoltre il DBMS deve essere in grado di garantire le proprietà ACID come nel caso di un DBMS centralizzato.
 
==Descrizione==
 
=== Architetture possibili ===
Esistono diverse modalità possibili di distribuzione dei dati:
* '''Frammenti orizzontali''': sottoinsiemi di [[tupla|tuple]] (righe) da una [[Modello relazionale|relazione]] (tabella).
* '''Frammenti verticali''': sottoinsiemi di [[attributo (basi di dati)|attributi]] (colonne) da una relazione (tabella).
* '''Frammenti misti''': combinazione di frammenti orizzontali e verticali o una collezione di oggetti in un [[Base di dati a oggetti|database a oggetti]] (OODB).
* '''Database distribuiti omogenei''': utilizzano solo un DBMS (ad esempio [[MySQL]] o [[Oracle Database|Oracle]]).
* '''Database distribuiti eterogenei''': utilizzano diversi DBMS (ad esempio [[MySQL]] e [[PostgreSQL]]).
 
Gli utenti possono accedere ai database distribuiti attraverso:
Line 31 ⟶ 29:
== Frammentazione ==
La frammentazione è una proprietà tipica del DBMS distribuito che permette di allocare diverse porzioni del Database su nodi diversi. Esistono diverse tipologie di frammentazione:
* '''frammentazione verticale''', che tocca gli attributi di una specifica tabella;
* '''frammentazione orizzontale primaria''', che tocca porzioni di tuple di una tabella;
* '''frammentazione orizzontale derivata''', che tocca porzioni di tuple di due tabelle diverse unendole in un'unica tabella tramite chiave;
* '''frammentazione composta''', che è una combinazione delle precedenti.
In generale la frammentazione deve rispettare le seguenti proprietà:
* completezza: ogni record della tabella di partenza deve essere poter ritrovato in uno dei due frammenti;
Line 104 ⟶ 102:
 
== Altri progetti ==
{{interprogetto|v=Basi di dati distribuite|preposizione=sui}}
 
{{Controllo di autorità}}
{{portale|informatica}}