Perbedaan antara log transaksi dan redo log di MySQL

14

Saya telah membaca tentang MySQL. Menurut pendapat saya, saya melihat dua jenis log sangat mirip. MySQL menyimpan bagaimana dan kapan data diubah dalam log. Informasi digunakan untuk pemulihan MySQL. Saya mengacaukan fungsi dua tipe log.

Luke Nguyen
sumber

Jawaban:

18

Log REDO adalah terminologi Oracle, log transaksi adalah terminologi InnoDB. Sekarang semua adalah insinyur Oracle, orang menggunakan keduanya untuk merujuk hal yang sama di MySQL .

Log transaksi adalah, secara default - dapat diubah - dua file yang terletak di $ DATADIR dipanggil ib_logfile0dan ib_logfile1. Ini melayani fungsi yang sama dengan REDO log di database-menyimpan menulis dengan cara yang aman dan memulihkan dalam kasus crash, meskipun ada beberapa detail dalam implementasi yang berbeda dalam fungsionalitas dari RDMS lainnya. Ini adalah komponen utama untuk InnoDB menjadi mesin transaksional.

Jangan bingung log transaksi dengan log biner di MySQL . Binlog, secara default, ada di $ DATADIR dan *hostname*-bin.indexdan beberapa *hostname*-bin.00001, dll. Ini sangat membingungkan bagi orang-orang yang datang dari database lain, karena digunakan untuk hal-hal lain yang menggunakan database REDO log untuk: replikasi dan titik waktu pemulihan. Perbedaan utama adalah bahwa log transaksi hanya untuk InnoDB, log biner (sebagian besar) tidak bergantung pada transaksi, karena untuk semua mesin penyimpanan, transaksional atau tidak. MyISAM akan menulis (jika diaktifkan) ke log biner. InnoDB akan menulis ke log transaksi dan log biner.

Info lebih lanjut tentang manual: log REDO , log biner .

jynus
sumber
-2

Dalam SQL Server, file TLog menyimpan informasi undo dan redo. Tetapi dalam MYSQL dan Oracle, TLog / Redo Log hanya menyimpan informasi redo.

Binary Loging di MySQL adalah cara untuk mendapatkan pemulihan waktu. Mengaktifkan pencatatan biner sama dengan memiliki model pemulihan penuh dalam SQL Server.

Mersh
sumber
1
Anda mungkin harus memperjelas bahwa Oracle masih menyimpan undo, meskipun secara terpisah.
Philᵀᴹ