Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL memperbarui seluruh basis data tanpa waktu henti

Berikut adalah sesuatu yang saya lakukan. Ini tidak menghasilkan waktu henti nol tetapi dapat selesai dalam waktu kurang dari satu detik.

Buat database yang hanya memiliki elemen antarmuka ke database asli Anda. Dalam kasus saya, ini hanya berisi definisi tampilan, dan semua kueri pengguna melalui database ini.

Buat database baru setiap malam. Setelah selesai, perbarui definisi tampilan untuk merujuk ke database baru. Saya akan merekomendasikan untuk mematikan akses pengguna ke database yang berisi tampilan saat Anda memperbaruinya atau menghapus semua tampilan dan membuatnya kembali -- ini mencegah akses sebagian ke database lama. Karena membuat tampilan cepat, ini harus menjadi operasi yang sangat cepat.

Kami melakukan semua ini melalui pekerjaan. Sebenarnya, sebelum mengubah tampilan produksi, kami menguji pembuatan tampilan di database lain untuk memastikan semuanya berfungsi.

Jelas, jika Anda menggunakan alter view daripada mengharuskan konsistensi di semua tampilan, maka tidak ada waktu henti, hanya periode inkonsistensi yang singkat.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa yang lebih cepat, SELECT DISTINCT atau GROUP BY di MySQL?

  2. Konektor dan Lisensi MySQL

  3. Apa itu MySQL?

  4. gunakan pencarian teks lengkap untuk mencari kata-kata yang tidak lengkap di mysql

  5. Masalah dengan kueri MySQL menggunakan AVG()