가져오기 및 내보내기 권장사항
다음은 데이터를 가져오고 내보낼 때 고려해야 할 권장사항입니다.
- Cloud Storage 요청자 지불 버킷 사용 금지
- 데이터를 압축하여 비용 절감
- 장기 실행 가져오기 및 내보내기 프로세스 줄이기
- 스트라이핑된 가져오기 및 내보내기 사용
- 가져온 데이터베이스 확인
Cloud Storage 요청자 지불 버킷 사용 금지
Cloud SQL에서 가져오기와 내보내기에 요청자 지불이 사용 설정된 Cloud Storage 버킷을 사용할 수 없습니다.
데이터를 압축하여 비용 절감
Cloud SQL에서는 압축된 파일과 압축되지 않은 파일을 모두 가져오고 내보낼 수 있습니다. 특히 대규모 인스턴스를 내보낼 때 파일을 압축하면 Cloud Storage에서 차지하는 저장공간 및 스토리지 비용을 상당 부분 절약할 수 있습니다.
BAK 파일을 내보낼 때 .gz
파일 확장자를 사용하여 데이터를 압축하세요. 파일 확장자가 .gz
인 파일을 가져오면 자동으로 압축이 풀립니다.
장기 실행 가져오기 및 내보내기 프로세스 줄이기
Cloud SQL로 가져오고 Cloud SQL에서 내보내는 작업은 처리 중인 데이터의 크기에 따라 완료하는 데 많은 시간이 걸릴 수 있습니다. 이에 따른 영향은 다음과 같습니다.
- 장기 실행 Cloud SQL 인스턴스 작업을 중지할 수 없습니다.
- 각 인스턴스에 대해 한 번에 하나씩만 가져오기 또는 내보내기 작업을 수행할 수 있고 가져오기 또는 내보내기를 장기간 실행하면 일일 자동 백업과 같은 다른 작업이 차단됩니다.
더 작은 데이터 배치로 Cloud SQL 가져오기 또는 내보내기 기능을 사용하여 각 작업을 완료하는 데 걸리는 시간을 단축시킬 수 있습니다.
전체 데이터베이스 마이그레이션의 경우 SQL 파일 대신 BAK 파일을 가져오기에 사용합니다. 일반적으로 SQL 파일에서 가져오는 것이 BAK 파일에서 가져오는 것보다 훨씬 오래 걸립니다.
스트라이핑된 가져오기 및 내보내기 사용
스트라이핑된 가져오기 또는 내보내기를 수행할 경우 작업을 완료하는 데 걸리는 시간을 줄이고, 5TB보다 큰 데이터베이스를 가져오고 내보내도록 설정합니다. 자세한 내용은 BAK 파일을 사용하여 내보내기 및 가져오기를 참조하세요.
가져온 데이터베이스 확인
가져오기 작업이 완료된 후 데이터베이스에 연결하고 적절한 데이터베이스 명령어를 실행하여 콘텐츠가 올바른지 확인합니다. 예를 들어 데이터베이스, 테이블, 특정 항목을 연결하고 나열합니다.
제한 사항
알려진 제한사항 목록은 데이터 가져오기 및 내보내기 문제를 참조하세요.
내보내기 작업 자동화
Cloud SQL은 데이터베이스 내보내기를 자동화하는 기본 제공 방법을 제공하지 않지만 여러 Google Cloud 구성요소를 사용하여 자체 자동화 도구를 빌드할 수 있습니다. 자세한 내용은 이 튜토리얼을 참조하세요.
문제 해결
가져오기 작업 문제 해결
문제 | 문제 해결 |
---|---|
HTTP Error 409: Operation failed because another operation was already in progress . |
인스턴스에 대기 중인 작업이 이미 있습니다. 한 번에 하나의 작업만 허용됩니다. 현재 작업이 완료된 후 요청을 시도하세요. |
가져오기 작업이 너무 오래 걸립니다. | 활성 연결이 너무 많으면 가져오기 작업을 방해할 수 있습니다.
사용하지 않는 작업을 종료합니다. Cloud SQL 인스턴스의 CPU 및 메모리 사용량을 확인하여 사용 가능한 리소스가 충분한지 확인합니다. 가져오기에 최대 리소스를 보장하는 가장 좋은 방법은 작업을 시작하기 전에 인스턴스를 다시 시작하는 것입니다. 다시 시작하면 다음과 같은 결과가 발생합니다.
|
덤프 파일에 참조된 하나 이상의 사용자가 없으면 가져오기 작업이 실패할 수 있습니다. | 덤프 파일을 가져오기 전에 객체를 소유하거나 덤프된 데이터베이스의 객체에 대한 권한이 부여된 모든 데이터베이스 사용자가 대상 데이터베이스에 있어야 합니다. 그렇지 않으면 가져오기 작업이 원래 소유권이나 권한으로 객체를 다시 만들지 못합니다.
가져오기 전에 데이터베이스 사용자를 만듭니다. |
내보내기 작업 문제 해결
문제 | 문제 해결 |
---|---|
HTTP Error 409: Operation failed because another operation was
already in progress. |
인스턴스에 대기 중인 작업이 이미 있습니다. 한 번에 하나의 작업만 허용됩니다. 현재 작업이 완료된 후 요청을 시도하세요. |
HTTP Error 403: The service account does not have the required
permissions for the bucket. |
버킷이 있고 내보내기를 수행하는 Cloud SQL 인스턴스의 서비스 계정에 버킷으로 내보낼 수 있는 Storage Object Creator 역할(roles/storage.objectCreator )이 있는지 확인합니다. Cloud Storage에 대한 IAM 역할을 참조하세요. |
내보내기를 자동화하려고 합니다. | Cloud SQL은 내보내기를 자동화하는 방법을 제공하지 않습니다.
백업 자동화에 대한 이 문서와 마찬가지로 Cloud Scheduler, Pub/Sub, Cloud Functions와 같은 Google Cloud 제품을 사용하여 자체 자동 내보내기 시스템을 빌드할 수 있습니다. |
다음 단계
- BAK 파일을 사용하여 데이터 가져오기 및 내보내기 방법 알아보기
- SQL 덤프 파일을 사용하여 데이터를 가져오는 방법 알아보기
- 자동 백업을 사용 설정하는 방법 알아보기
- 백업에서 복원하는 방법 알아보기