Sia il mirroring che la replica sono vantaggiosi e aumentano la disponibilità e le prestazioni dei dati o del database.
Grafico comparativo
Base per il confronto | Mirroring | replicazione |
---|---|---|
Di base | Creazione di una copia del database in una posizione diversa (macchina). | Creazione di dati e oggetti di database per migliorare le operazioni di distribuzione. |
Eseguito su | Banca dati | Solo dati e oggetti di database |
Situato su | Macchina diversa | Database diverso |
Costo | Molto costoso | economico |
Database distribuito | Nessuna disposizione per il supporto del database distribuito | Supporta database distribuiti |
Definizione di Mirroring
Il mirroring è il processo di generazione di più copie di database ed è anche noto come shadowing . Questa copia del database di solito si trova su una macchina diversa. Se un server primario si blocca o è impegnato per la manutenzione, in quel momento il sistema può eseguire automaticamente il failover sul database con mirroring. In qualsiasi momento, è possibile accedere a una sola copia.
L'accoppiamento stretto tra il database primario e il database con mirroring viene stabilito con l'aiuto di inviare blocchi del log delle transazioni al database con mirroring. In caso di errore, è anche in grado di ripristinare i dati copiandoli da un database all'altro. Quando si verifica un failover, il database mirror diventa il database principale.
Il mirroring include la ripetizione dell'aggiornamento, l'inserimento e l'eliminazione delle operazioni impegnate in un database primario su database mirror senza alcun ritardo. In una modalità completamente sicura, una transazione non può impegnarsi fino a quando i record di log per la transazione non lo hanno reso su disco sul mirror. Il mirroring non supporta il database distribuito.
Definizione della replica
La replica è il processo di creazione di distribuzione di dati e oggetti di database ridondanti su diversi database per migliorare la disponibilità dei dati. È in grado di riavvolgere i dati aziendali da siti geograficamente distribuiti e di diffondere i dati agli utenti remoti su reti locali o su Internet. Aumenta l'esecuzione dei comandi paralleli.
Nel server Microsoft SQL, il publisher è un'entità che fornisce i dati per la replica ad altri server. Il sottoscrittore è un server che di solito riceve i dati replicati da un editore.
Esistono tre tipi di opzioni disponibili nel server Microsoft SQL per l'operazione di replica: replica di istantanee, replica delle transazioni e replica di merge.
- La replica istantanea copia i dati e gli oggetti del database nello stesso modo in cui appaiono in un istante.
- La replica delle transazioni genera un'istantanea iniziale dei dati al Sottoscrittore, quindi la sua modifica incrementale viene inviata al Sottoscrittore come processo discreto. Esistono due processi di replica definiti nella replica transazionale, cioè agente di lettura log e agente di distribuzione. L'ex agente di lettura log di processo legge le transazioni dal log delle transazioni del database, applica un filtro opzionale e li archivia in un database di distribuzione, che assomiglia a un archivio di supporto delle code e avanti meccanismo di replica transazionale. L'ultimo agente di distribuzione del processo inoltra le modifiche a ciascun utente.
- La replica di unione consente a ciascuna replica di autogovernarsi sia online che offline. Ogni volta che un cambiamento viene eseguito su metadati dell'oggetto pubblicato, viene rintracciato alla fine del sottoscrittore e del publisher. Non replica l'istanza di dati e oggetti di database.
I dati possono essere replicati utilizzando i trigger di database con l'aiuto di alcuni strumenti specifici. La stored procedure specializzata nel database segnala all'agente di replica di acquisire e trasportare le modifiche. La replica può anche essere utilizzata con il mirroring del database, che dovrebbe avere un distributore.
Differenze chiave tra mirroring e replica
- Il mirroring implica la duplicazione di un database archiviato su macchine diverse in cui il database originale è noto come database primario e il database copiato è noto come mirror. D'altro canto, la replica è la duplicazione di dati e oggetti di database archiviati nella diversa posizione per migliorare le prestazioni del database di distribuzione.
- Il mirroring viene eseguito sul database mentre la replica viene implementata su dati e oggetti di database.
- Di solito il database mirror si trova nella macchina diversa dal suo database principale. Come contro, i dati replicati e gli oggetti del database sono archiviati in un altro database.
- Il mirroring dei costi del database è superiore alla replica.
- Il mirroring non supporta l'ambiente distribuito mentre la replica è stata concepita per il database distribuito.
Conclusione
Il mirroring e la replica sono i metodi che aiutano a migliorare la disponibilità, l'affidabilità e le prestazioni dei dati. Tuttavia, il mirroring implica copie ridondanti di un database, mentre la replica include la duplicazione di dati e oggetti di database come tabelle, stored procedure, funzioni definite dall'utente, viste, viste materializzate, ecc.