回答編集履歴
1
answer
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
自動ロールバックって一見安全装置なんですが、今回のような「ロールバック処理自体のバグでDBが壊れる」という事例を見ると、安全装置そのものが新たな障害要因になり得るんだなと思いました
|
|
1
|
+
自動ロールバックって一見安全装置なんですが、今回のような「ロールバック処理自体のバグでDBが壊れる」という事例を見ると、安全装置そのものが新たな障害要因になり得るんだなと思いました!ロールバック処理は普段ほとんど実行されないのでテストも薄くなりがちですし、動くのは一番クリティカルなタイミングになりがちですよね...
|
|
2
2
|
|
|
3
3
|
一方で、dirtyのまま止めると人が対応するまで放置になるので、自動化したくなる気持ちもよく分かります。
|
|
4
4
|
|
|
5
|
-
Prismaがdown migrationをサポートしないのも、「downが本当にupの逆操作とは限らない」「データ変更には不可逆なものがある」という理由だったと認識しています。なので、expand and contractのように「ロールバックが不要な設計」を目指す考え方は理にかなっているのかなと
|
|
5
|
+
Prismaがdown migrationをサポートしないのも、「downが本当にupの逆操作とは限らない」「データ変更には不可逆なものがある」という理由だったと認識しています。なので、expand and contractのように「ロールバックが不要な設計」を目指す考え方は理にかなっているのかなと思います
|
|
6
6
|
|
|
7
7
|
個人的には、「自動でdownする」より「そこで止めて人に通知し、必要ならPITRやバックアップで復旧する」運用のほうが安心できそうだと感じています。実際、本番で自動ロールバックを採用しているチームってどれくらいあるのでしょうかね...
|