Differenza tra registro delle transazioni e registro delle ripetizioni in MySQL


14

Ho letto di MySQL. A mio avviso, vedo due tipi di registro molto simili. MySQL salva come e quando i dati vengono modificati nel registro. Le informazioni vengono utilizzate per il recupero di MySQL. Sto confondendo la funzione di due tipi di registro.

Risposte:


18

Il registro REDO è una terminologia Oracle, il registro delle transazioni è una terminologia InnoDB. Ora che tutti sono ingegneri Oracle, le persone usano entrambi per riferirsi alla stessa cosa in MySQL .

Il registro delle transazioni è, per impostazione predefinita, può essere modificato, i due file situati in $ DATADIR chiamati ib_logfile0e ib_logfile1. Serve le stesse funzioni del registro REDO in altri database: l'archiviazione delle scritture è sicura e il ripristino in caso di arresto anomalo, sebbene ci siano alcuni dettagli nell'implementazione che differiscono nella funzionalità da altri RDMS. È il componente principale per InnoDB di essere un motore transazionale.

Non confondere il registro delle transazioni con i registri binari in MySQL . Il binlog, per impostazione predefinita, si trova su $ DATADIR ed è *hostname*-bin.indexe diversi *hostname*-bin.00001, ecc. È particolarmente confuso per le persone che provengono da altri database, perché viene utilizzato per altre cose per cui altri database utilizzano il registro REDO per: replica e point in time recupero. La differenza principale è che il registro delle transazioni è solo InnoDB, il registro binario è (principalmente) indipendente dalle transazioni, come è per tutti i motori di archiviazione, transazionali o meno. MyISAM scriverà (se abilitato) nel registro binario. InnoDB scriverà nel registro delle transazioni e nel registro binario.

Maggiori informazioni sul manuale: registro REDO , registro binario .


-2

In SQL Server, i file TLog memorizzano sia le informazioni di annullamento che quelle di ripetizione. Ma in MYSQL e Oracle, il registro TLog / Redo memorizza solo le informazioni di ripetizione.

La registrazione binaria in MySQL è un modo per avere un recupero temporizzato. Abilitare la registrazione binaria equivale ad avere un modello di recupero completo in SQL Server.


1
Probabilmente dovresti chiarire che Oracle memorizza ancora l'annullamento, anche se separatamente.
Phil,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.