Мені періодично потрібно вносити зміни до таблиць у mysql 5.1, в основному додаючи стовпці. Дуже просто з командою alter table. Але в моїх таблицях зараз до 40 мільйонів рядків, і вони швидко зростають ... Тож ці команди змінних таблиць займають кілька годин. Через пару місяців вони займуть дні, я здогадуюсь.
Оскільки я використовую amazon RDS, я не можу мати невільників-серверів, щоб грати, а потім просувати їх до майстерності. Тож моє запитання, чи є спосіб зробити це з мінімальним простоєм? Я не заперечую за тим, щоб операція займала години чи навіть дні, якщо користувачі все-таки можуть використовувати db, звичайно ... Чи можуть вони хоча б читати під час додавання стовпців? Що станеться, якщо мій додаток намагається записати? Вставити чи оновити? Якщо це не вдається відразу, це насправді не так вже й погано, якщо він просто зависає і створює проблеми для db-сервера, це велика проблема ..
Це має бути досить поширеним питанням масштабування, кожен повинен додати стовпці. Що зазвичай робиться для виробничого db? Раб -> майстер міграції?
Оновлення - я забув згадати, що я використовую механізм зберігання innodb