구글 클라우드 플랫폼 프로젝트에서 이미지 데이터를 효율적으로 저장하는 문제에 직면한 저자는 초기에 Cloud SQL에 base64로 인코딩된 이미지를 저장했지만, 이는 데이터베이스 부하가 증가하고 성능이 저하될 가능성이 있었습니다. 이를 해결하기 위해 저자는 이미지 데이터를 대용량 객체 저장에 최적화된 Google Cloud Storage(GCS)로 마이그레이션하기로 결정했습니다. 마이그레이션을 처리하기 위해 TypeScript 스크립트를 작성하고, 프라이빗 네트워크 내에서 보안적으로 스크립트를 실행하기 위해 Google Kubernetes Engine(GKE)에서 Kubernetes Job을 설정했습니다. GitHub Actions를 사용하여 배포를 자동화하여 수동 오류를 줄이고 보안을 강화했습니다. 마이그레이션 프로세스는 Cloud SQL에서 이미지 데이터를 추출하고, base64 문자열을 디코딩하고, 이미지 파일 유형을 결정하고, 이미지를 GCS에 업로드하는 것을 포함했습니다. 마이그레이션 후에 애플리케이션 코드를 업데이트하여 GCS에서 이미지를 참조하고, 기능을 보장하기 위해 철저한 테스트를 수행했습니다. 마지막으로, Kubernetes Job과 관련 리소스를 삭제하고, 스크립트를 코드베이스에서 제거하여 의도하지 않은 재사용을 방지했습니다.
dev.to
Optimizing database performance by migrating Images to GCS
