私は大きなウェブアプリに取り組んでいます。このウェブアプリには、(とりわけ)既存のデータセットからオンラインで構築されたテーブルがあります。このデータセットは(おそらく頻繁ではありませんが)変更される可能性があるため、一般的な計画では、1〜2か月ごとに更新/再構築します。これはすべて、SQLAlchemyを使用したPythonで発生します
Webアプリと大規模なデータベースの両方を扱った経験がほとんどないので、これを行うための最良の方法は何ですか?データベースを最初から構築するには5〜6時間かかります。これは、正直なところ、許容できるダウンタイムです(これは科学分析サーバーです)。もちろん、別のオプションは、2番目のテーブルを並行して作成し、元のテーブルを削除して新しいテーブルの名前を変更することですが、これには一貫性の問題がありますか?テーブルを「ライブ更新」する方法はありますか、それともここでクラッシュするリスクは価値がありません(つまり、クラッシュした場合、テーブルを実際のデータに対して一貫性のない状態のままにします)?
明らかに、単純さ、安全性、ダウンタイムの欠如の間にはトレードオフがありますが、私は自分の選択肢が何であるかに興味があります(それらの「未知の未知数」を検討するため)。