この記事はなに? ベーシック Advent Calendar 2016 20日目です。 機会があって100万枚近い画像を3時間弱でアップロードできるアップローダを作成しました。今回はアップローダを作成する際の手法をご紹介したいと思います! そもそも何故やることになったのか 僕の携わっているサービスが全面リニューアルをおこなっているのですが、要件の中に、MongoDBからMySQLに乗り換えるというものがありました。その際に大量にある画像を下記理由から再アップロードする必要が出てきました。 MongoDBからMySQLへの変更に伴い、データの持ち方が大きく変わったので、画像パスを再登録する必要があった。 画像を保存しているディレクトリ構造がいけてなく、S3上での検索が困難だったので整えたかった。 また、画像のアップロード作業をする際は、サービスを一時停止、また万が一の為にやり直しをするバッフ
![5日かかる計算だった100万近くある画像のアップロードを3時間弱にした話 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/61941602e28d997b9345c8c8be532942ecd2e4b0/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9NSVFNiU5NyVBNSVFMyU4MSU4QiVFMyU4MSU4QiVFMyU4MiU4QiVFOCVBOCU4OCVFNyVBRSU5NyVFMyU4MSVBMCVFMyU4MSVBMyVFMyU4MSU5RjEwMCVFNCVCOCU4NyVFOCVCRiU5MSVFMyU4MSU4RiVFMyU4MSU4MiVFMyU4MiU4QiVFNyU5NCVCQiVFNSU4MyU4RiVFMyU4MSVBRSVFMyU4MiVBMiVFMyU4MyU4MyVFMyU4MyU5NyVFMyU4MyVBRCVFMyU4MyVCQyVFMyU4MyU4OSVFMyU4MiU5MjMlRTYlOTklODIlRTklOTYlOTMlRTUlQkMlQjElRTMlODElQUIlRTMlODElOTclRTMlODElOUYlRTglQTklQjEmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWM1OTM3Nzk5NmRkNjJlODAyOWU0MDU2OGJmOGQ2NGQ4%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBrYWtreTA0MTgmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWFhM2VlOGQ2NTQxMGRlMmIyYjk4OTcyYjk3M2Q3MjI0%26blend-x%3D120%26blend-y%3D500%26blend-mode%3Dnormal%26s%3Db945836ae7899e60c942ca47b9a432df)