Como o sistema de banco de dados mais "popular" (MySQL, Postgres...) lida com a alteração de tabelas em bancos de dados de produção ao vivo (como adicionar, excluir ou alterar o tipo de colunas)?
Eu sei que a maneira correta é fazer backup de tudo, agendar o tempo de inatividade e fazer as alterações.
Mas... algum sistema de banco de dados atual suporta fazer essas coisas "on-line" sem parar nada? (talvez apenas atrasando as consultas que fazem referência a uma coluna que está apenas sendo alterada/excluída)
E o que acontece quando eu apenas faço um ALTER TABLE...
banco de dados em execução ao vivo? Tudo para quando isso acontece? Os dados podem ser corrompidos? etc.
Novamente, estou me referindo principalmente ao Postgres ou MySQL, pois é isso que encontro.
(E, sim, sempre que eu tive que fazer isso antes de fazer "do jeito certo", fazer backup das coisas, agendar inatividade etc. ... mas eu só quero saber se é possível fazer esse tipo e coisas "rápidas e sujo" ou se houver algum sistema de banco de dados que realmente tenha suporte para alterações de esquema "rápidas, ao vivo e sujas")
Alguém acabou de sugerir Online Schema Change for MySQL a partir do script do Facebook (com um tutorial aqui e fonte aqui ) ... parece uma boa maneira de automatizar um conjunto de maneiras "hacky" de fazer isso ... algo parecido com produção?