Mysql
 sql >> Database >  >> RDS >> Mysql

conseguenze della modifica del motore di archiviazione MySQL mentre l'applicazione è in esecuzione in produzione

Qualsiasi modifica apportata con ALTER TABLE che richiede una copia della tabella bloccherà la tabella. Questo è il problema più significativo per le applicazioni. La tabella sarà inaccessibile dalle query di qualsiasi applicazione.

La durata di questo blocco dipende dalle dimensioni della tabella, dalle prestazioni del server e dall'altro carico in cui si trova il server.

Puoi apportare modifiche con tempi di inattività minimi se utilizzi uno strumento di modifica dello schema online come pt-online-schema-change .

Un'altra strategia consiste nell'apportare modifiche alle tabelle in un'istanza di database di replica. Va bene che le tabelle abbiano un motore di archiviazione diverso su una replica rispetto al master. Non ti interessa che le tabelle siano bloccate, farà solo ritardare la replica e quindi, quando le modifiche sono state apportate, la replica dovrebbe recuperare. Al termine, puoi cambiare la tua applicazione per utilizzare la replica e quindi rimuovere le autorizzazioni della precedente istanza del database master.