In che modo il sistema di database più "popolare" (MySQL, Postgres ...) gestisce le tabelle di modifica sui database di produzione live (come l'aggiunta, l'eliminazione o la modifica del tipo di colonne)?
So che il modo corretto è quello di eseguire il backup di tutti i tempi di inattività pianificati e quindi fare le modifiche.
Ma ... qualsiasi sistema di database corrente supporta queste operazioni "on-line" senza interrompere nulla? (forse solo ritardando le query che fanno riferimento a una colonna che è appena stata modificata / eliminata)
E cosa succede quando faccio un ALTER TABLE...
database in esecuzione dal vivo? Tutto si ferma quando questo accade? I dati possono essere danneggiati? eccetera.
Ancora una volta, mi riferisco principalmente a Postgres o MySQL poiché questi sono ciò che incontro.
(E, sì, ogni volta che dovevo farlo prima di farlo "nel modo giusto", eseguendo il backup di cose, programmando downtine ecc ... ma voglio solo sapere se è possibile fare questo tipo e le cose "velocemente e dirty "o se esiste un sistema DB che supporta effettivamente modifiche dello schema" veloci, attive e sporche ")
Qualcuno ha appena suggerito il cambio di schema online per MySQL dallo script di Facebook (con un tutorial qui e fonte qui ) ... sembra un bel modo per automatizzare una serie di modi "hacky" per farlo ... qualcuno lo ha mai usato qualcosa somiglia alla produzione?
pg_reorg
può aiutare con gli scenari più difficili.