Java
Spring-boot
Spring Batch
MyBatis
方法は他にいくらでもあった
やろうと思えば方法なんてものは他にいくらでもありました。
- Spring Batchの実装をTasklet方式じゃなくてChunk方式にする
- というかそもそもJavaバッチやめようよ
- Aurora for MySQL側に一時テーブルを設けてそっちに必要なデータを部分的に移していって、最後にSQLでドンパチする
- そもそもAurora for MySQLのバージョンをv2系からv3系にアップグレードする
- というか非機能要件定義どうなってんねん
ツッコミどころはたくさんあったと思います。挙げ始めたらキリがないほどに。
ただどれも「半年以上前にこの問題が分かってれば他の方法を色々模索出来た」というのが現実です。
- スケジュールに1ミリも余裕がない
- 今の資材を活かしながらじゃないと他のメンバーに作業をスケールアウトしづらい
- 現行システムも新システムもDB自体は以前から稼働しているものなので、DBそのものに手を入れることは難しい
とまぁ色々な状況が組み合わさった中で必死に最適解を模索した日々だったわけで。 そこのところはおおらかな気持ちで読んでもらえると幸いです。
おわりに
しんどい思いはしましたけど、エンジニアとして成長できた貴重な経験だったんじゃないですかね。 知らんけど。