Saya secara berkala perlu membuat perubahan pada tabel di mysql 5.1, kebanyakan menambahkan kolom. Sangat sederhana dengan perintah alter table. Tapi meja saya memiliki hingga 40 juta baris sekarang dan mereka tumbuh cepat ... Jadi perintah-perintah perubahan tabel itu memakan waktu beberapa jam. Dalam beberapa bulan mereka akan membutuhkan berhari-hari.
Karena saya menggunakan amazon RDS, saya tidak bisa memiliki server pendukung untuk bermain dan kemudian mempromosikannya menjadi master. Jadi pertanyaan saya adalah apakah ada cara untuk melakukan ini dengan downtime minimal? Saya tidak keberatan operasi memakan waktu berjam-jam atau bahkan berhari-hari jika pengguna masih dapat menggunakan db tentu saja ... Bisakah mereka setidaknya membaca ketika kolom sedang ditambahkan? Apa yang terjadi jika aplikasi saya mencoba menulis? Sisipkan atau perbarui? Jika gagal segera itu sebenarnya tidak terlalu buruk, jika hanya hang dan menyebabkan masalah untuk server db itu masalah besar ..
Ini harus menjadi masalah penskalaan yang cukup umum, semua orang perlu menambahkan kolom .. Apa yang biasanya dilakukan pada db produksi? Budak -> migrasi master?
Perbarui - Saya lupa menyebutkan saya menggunakan mesin penyimpanan innodb