- 정보
- 시작하기
- 데이터 저장, 복제, 인증
- 데이터는 어디에 저장되나요?
- 솔리드 스테이트 드라이브(SSD) 또는 하드 디스크 드라이브(HDD) 중에서 스토리지로 무엇을 사용해야 하나요?
- 영역이란 무엇인가요?
- 스토리지 한도는 얼마나 되나요?
- 데이터는 어떻게 복제되나요?
- Cloud SQL 장애 조치는 어떤 방식으로 작동하나요?
- 데이터가 암호화되나요?
- 저장 데이터의 암호화는 어떻게 관리하나요?
- 전송 중인 데이터의 암호화는 어떻게 관리하나요?
- 만들 수 있는 읽기 복제본의 종류에는 어떤 것이 있나요?
- 인스턴스가 읽기 복제본인지 어떻게 알 수 있나요?
- Cloud SQL은 읽기 복제본 요청에 대한 부하 분산을 제공하나요?
- SQL 서버용 Cloud SQL은 Microsoft Active Directory용 관리형 서비스와 통합되나요?
- 백업 및 복구
- 인스턴스 관리
- Cloud SQL 인스턴스의 다시 시작을 유발하는 작업은 무엇인가요?
- 다시 시작하는 동안 인스턴스가 얼마 동안 종료되나요?
- 데이터베이스를 확장하거나 축소할 수 있나요?
- vCPU를 업그레이드 및 다운그레이드할 수 있나요?
- Cloud SQL을 관리하려면 Google Cloud 콘솔을 사용해야 하나요?
- 삭제된 테이블의 공간을 확보하려면 어떻게 해야 하나요?
- 임시 파일에서 사용하는 공간을 확보하려면 어떻게 해야 하나요?
- 특정 데이터베이스를 가져오거나 내보낼 수 있나요?
- CSV 파일을 가져오거나 내보낼 수 있나요?
- 인스턴스에서 데이터를 가져오거나 내보내려면 Cloud Storage 계정이 필요한가요?
- 가져오기 작업에서
ERROR_RDBMS
는 무엇을 의미하나요? - 인스턴스를 삭제하면 인스턴스 이름을 다시 사용할 수 있나요?
- cloudsqladmin 데이터베이스 사용자란 무엇인가요?
GRANT ALL
을 사용하려면 어떻게 해야 하나요?- 인스턴스의 트랜잭션 로그에 어떻게 액세스하나요?
- Cloud SQL은 어느 정도 수준의 트랜잭션 격리를 제공하나요?
- 인스턴스를 실수로 삭제하지 않도록 보호하려면 어떻게 해야 하나요?
- 통계
- 가격 책정 및 결제
- App Engine과 함께 Cloud SQL 사용
- App Engine에서 MySQL 인스턴스로 연결할 수 있나요?
- App Engine에서 PostgreSQL 인스턴스로 연결할 수 있나요?
- App Engine에서 SQL Server 인스턴스로 연결할 수 있나요?
- 미국의 App Engine 애플리케이션에서 EU의 Cloud SQL 인스턴스에 액세스할 수 있나요? 또한 반대의 경우도 가능한가요?
- 나에게 맞는 Google Cloud 데이터베이스 서비스는 무엇인가요?
- App Engine 개발 서버를 사용하려면 로컬 데이터베이스 서버를 설치해야 하나요?
- 인스턴스 액세스에 사용 가능한 언어는 무엇인가요?
- Django를 Cloud SQL과 함께 사용할 수 있나요?
- Python 쿼리 문자열에서 사용할 수 있는 자리표시자는 무엇인가요?
- 연결을 관리하려면 어떻게 해야 하나요?
- '잘못된 연결 ID'라는 메시지를 표시하는 SQLException은 무엇을 의미하나요?
- App Engine 외부에서 프로그래매틱 방식으로 Cloud SQL 인스턴스에 액세스할 수 있나요?
정보
- Cloud SQL이란 무엇인가요?
- Cloud SQL은 클라우드에서 완전 관리형 SQL 데이터베이스를 제공하는 서비스입니다. Cloud SQL에서는 PostgreSQL, SQL Server, MySQL 데이터베이스를 제공합니다.
- Cloud SQL을 사용하면 어떤 이점이 있나요?
- Cloud SQL을 사용하면 패치 및 업데이트 적용, 백업 관리, 복제 구성과 같이 일상적이지만 시간이 많이 소요되는 필수 작업을 Google에 맡기고 사용자는 우수한 애플리케이션 빌드에만 집중할 수 있습니다. 또한 표준 유선 프로토콜을 사용하므로 어디에서나 거의 모든 애플리케이션에서 연결할 수 있습니다.
- Cloud SQL에서 사용할 수 있는 데이터베이스 버전은 무엇인가요? 업데이트는 어떻게 관리되나요?
-
MySQL용 Cloud SQL은 MySQL 8.4, 8.0(기본값), 5.7, 5.6을 지원합니다.
PostgreSQL용 Cloud SQL은 PostgreSQL 9.6, 10, 11, 12, 13, 14, 15, 16 (기본값), 17을 지원합니다.
SQL Server용 Cloud SQL은 SQL Server 2017 Standard, SQL Server 2017 Enterprise, SQL Server 2017 Express, SQL Server 2017 Web, SQL Server 2019 Standard(기본값), SQL Server 2019 Enterprise, QL Server 2019 Express, SQL Server 2019 Web과 같은 SQL Server 버전을 지원합니다.
마이너 버전 업데이트는 예약된 유지보수의 일부로 배포되므로 사용자가 해야 하는 추가 작업은 없습니다. 업데이트에 대한 자세한 내용은 Cloud SQL 인스턴스의 유지보수 개요를 참조하세요.
인스턴스의 현재 버전을 확인하려면 Google Cloud 콘솔로 이동해서 인스턴스 이름을 클릭하여 인스턴스 세부정보 페이지를 엽니다. 또는
gcloud sql instances describe
명령어를 실행할 수도 있습니다. - Cloud SQL에서 모든 데이터베이스 기능을 지원하나요?
- Cloud SQL에서는 MySQL, PostgreSQL, SQL Server의 일반적인 기능을 대부분 지원합니다. 예를 들어 표준 데이터베이스 기능과 Cloud SQL에서 제공하는 기능 간의 차이점 목록은 Cloud SQL 및 표준 MySQL 기능 간 차이점을 참조하세요. 또한 Cloud SQL과 표준 PostgreSQL 기능의 차이점을 참조하세요. 또한 Cloud SQL에서 사용할 수 없는 SQL Server 기능을 참조하세요.
- 크기 또는 QPS 제한이 있나요?
- Cloud SQL 인스턴스에는 초당 쿼리 수(QPS) 제한이 없습니다. 연결, 크기, App Engine 관련 한도에 대한 자세한 내용은 할당량 및 한도를 참고하세요.
- Cloud SQL이 변경됐을 때 알림을 받으려면 어떻게 해야 하나요?
- Cloud SQL에 대한 공지와 소식을 게시하는 google-cloud-sql-announce 포럼에 가입할 수 있습니다.
- 버그를 신고하거나 기능을 요청하거나 질문을 하려면 어떻게 해야 하나요?
- google-cloud-sql-discuss 그룹에서 버그를 신고하고 기능을 요청할 수 있으며 Stack Overflow에서 질문할 수 있습니다. 기타 다른 지원이 필요한 경우는 Cloud SQL 지원 페이지를 참조하세요.
시작하기
- 인스턴스 관리에 가장 적합한 MySQL 도구는 무엇인가요?
- Cloud SQL에서는 다양한 MySQL 도구를 사용할 수 있습니다. 개별 문을 실행하려면 MySQL 명령줄 도구를 사용하면 됩니다. 보다 복잡한 태스크를 실행하거나 다양한 데이터베이스 개발 환경을 사용하려면 Toad for MySQL 또는 MySQL Workbench를 사용하면 됩니다. 자세한 내용은 관리 및 보고 도구를 참조하세요.
- 어떤 스토리지 엔진을 사용해야 하나요?
- MySQL 인스턴스의 경우 스토리지 엔진으로 InnoDB만 지원합니다.
모든 테이블 형식이 MyISAM인
mysqldump
파일은 sed 스크립트를 통해 파일을 파이핑하면 InnoDB 형식으로 변환될 수 있습니다.mysqldump --databases [DATABASE_NAME] \ -h [INSTANCE_IP] -u [USERNAME] -p [PASSWORD] \ --hex-blob --default-character-set=utf8mb4 | sed 's/ENGINE=MyISAM/ENGINE=InnoDB/g' > [DATABASE_FILE].sql
경고:
mysqldump
파일에mysql
스키마가 포함된 경우에는 이 작업을 수행하면 안 됩니다. 이런 파일은 반드시 MyISAM 형식을 유지해야 합니다. - 데이터가 없는 새 인스턴스에 디스크 공간이 사용된 것으로 표시되는 이유는 무엇인가요?
- Cloud SQL 및 데이터베이스는 인스턴스가 생성될 때 시스템 파일과 메타데이터를 위해 공간을 사용합니다. 맨 위로
- 데이터는 어디에 저장되나요?
-
인스턴스 데이터는 인스턴스가 있는 리전에 저장됩니다. 스토리지 위치를 지정하지 않으면 백업은 Cloud SQL 인스턴스의 위치와 지리적으로 가장 가까운 멀티 리전에 저장됩니다. 예를 들어 Cloud SQL 인스턴스가
us-central1
에 있는 경우 백업은 기본적으로us
멀티 리전에 저장됩니다. 하지만australia-southeast1
과 같은 기본 위치는 멀티 리전 외부에 있습니다. 가장 가까운 멀티 리전은asia
입니다. - 영역이란 무엇인가요?
영역은 리소스를 실행할 수 있는 특정 지리적 위치의 독립적인 항목입니다. 예를 들어 이름이 us-central1-a인 영역은 미국 중부의 한 위치를 나타냅니다.
MySQL 인스턴스의 경우 고가용성으로 인스턴스를 구성해 영역 간 내결함성을 구현할 수 있습니다. 모든 프로덕션 인스턴스에 고가용성 구성을 사용하는 것이 좋습니다.
영역에 대한 자세한 내용은 Compute Engine 문서의 영역 리소스를 참조하세요.
- 스토리지 한도는 얼마나 되나요?
- 스토리지 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.
- 데이터는 어떻게 복제되나요?
-
MySQL 인스턴스: MySQL 인스턴스에서는 고가용성 구성과 MySQL 읽기 복제본을 제공합니다. MySQL 읽기 복제본에서는 비동기 복제를 사용합니다.
- 만들 수 있는 읽기 복제본의 종류에는 어떤 것이 있나요?
-
각 유형의 사용 사례를 비롯하여 읽기 복제본에 대한 자세한 내용은 복제 옵션을 참조하세요.
- Cloud SQL 장애 조치는 어떤 방식으로 작동하나요?
-
장애 조치에 대한 자세한 내용은 고가용성 구성 개요를 참조하세요.
- 데이터가 암호화되나요?
- Cloud SQL 고객 데이터는 데이터베이스 테이블, 임시 파일, 백업에 저장될 때 암호화됩니다. 외부 연결은 SSL을 사용하거나 Cloud SQL 인증 프록시를 통해 암호화될 수 있습니다.
- 저장 데이터의 암호화는 어떻게 관리하나요?
데이터는 256비트 고급 암호화 표준(AES-256) 이상과 대칭 키를 사용하여 암호화됩니다. 즉, 데이터가 저장될 때 데이터를 암호화하고 데이터가 사용될 때 데이터를 복호화하는 데 같은 키가 사용됩니다. 이러한 데이터 키는 보안 키 저장소에 저장된 키를 사용하여 자체적으로 암호화되고 정기적으로 변경됩니다.
자세한 내용은 Google Cloud의 저장 데이터 암호화를 참조하세요.
- 전송 중인 데이터의 암호화는 어떻게 관리하나요?
-
데이터가 Google이나 Google의 대리인이 통제하지 않는 물리적 경계 외부로 이동할 때 Google은 하나 이상의 네트워크 계층에서 모든 전송 중 데이터를 암호화하고 인증합니다. Google이나 Google 대리인이 통제하는 물리적 경계 내에서 전송 중인 데이터는 일반적으로 인증되지만 기본적으로 암호화되지 않을 수 있습니다. 공개 IP 주소를 사용하여 인스턴스에 연결할 경우 데이터가 전송 중에 안전하게 보호되도록 SSL/TLS 인증서를 사용합니다. 위협 모델에 따라 적용할 추가 보안 조치를 선택할 수 있습니다. 예를 들어 Cloud SQL로의 영역 내 연결을 위해 SSL을 구성할 수 있습니다.
자세한 내용은 Google Cloud의 전송 중 암호화를 참조하세요.
- 인스턴스가 읽기 복제본인지 어떻게 알 수 있나요?
- Google Cloud 콘솔을 사용하여 모든 Cloud SQL 인스턴스를 확인할 수 있으며 인스턴스가 기본 또는 읽기 복제본인지 여부를 확인할 수 있습니다. gcloud CLI를 사용하면 인스턴스가 기본 복제본인지 읽기 복제본인지 확인할 수도 있습니다. 자세한 내용은 복제 상태 확인을 참조하세요.
- Cloud SQL은 읽기 복제본 요청에 대한 부하 분산을 제공하나요?
- Cloud SQL은 부하 분산을 자동으로 제공하거나 구성하지 않습니다. 연결 풀링을 사용해 여러 연결 엔드포인트 사이에서 전환하여 읽기 복제본 간에 읽기 요청을 배포할 수 있습니다.
- SQL 서버용 Cloud SQL은 Microsoft Active Directory용 관리형 서비스와 통합되나요?
- 예. 인증, 승인 등을 사용할 수 있습니다. 시작할 때 개요를 참조하세요.
- 인스턴스를 복구하려면 어떻게 해야 하나요?
-
백업으로 복원하려면 Google Cloud 콘솔 또는
gcloud
명령줄 도구를 사용하면 됩니다. 자세한 내용은 인스턴스 복원을 참조하세요.인스턴스를 특정 시점으로 복원하려면 PITR(point-in-time recovery)을 사용합니다. 자세한 내용은 PITR(point-in-time recovery) 사용을 참조하세요.
- 백업 비용은 얼마나 드나요?
-
백업 비용은 인스턴스 스토리지 요율에 따라 청구됩니다.
인스턴스 스토리지 가격 책정 및 인스턴스 요율에 대한 자세한 내용은 가격을 참조하세요.
- 7일이 지난 자동 백업에 액세스할 수 있나요?
-
자동 백업은 매일 발생하며 기본적으로 7일 동안 보관됩니다. 1개에서 365개의 백업까지 백업 보관 값을 구성할 수 있습니다. 보관 기간이 끝나면 가장 오래된 백업이 삭제됩니다. 자동 백업은 증분 백업이며, 이전 백업이 변경된 후 변경된 데이터만 포함됩니다. 가장 오래된 백업 크기는 데이터베이스 크기와 비슷합니다. 가장 오래된 백업이 삭제되면 두 번째로 오래된 백업의 크기가 증가하여 전체 백업 크기가 동일하게 유지됩니다.
주문형 백업은 수동으로 삭제하지 않는 한 삭제되지 않습니다.
- point-in-time recovery가 성능에 어떤 영향을 미치나요?
- MySQL용 Cloud SQL의 경우 PITR(point-in-time recovery)을 수행하려면 바이너리 로깅을 사용 설정해야 합니다. 즉, 데이터베이스에 대한 모든 업데이트가 독립 로그에 작성되므로 쓰기 성능이 약간 저하됩니다. 읽기 작업 성능은 바이너리 로그 파일 크기에 관계없이 바이너리 로깅에 영향을 받지 않습니다.
- 리전 장애 보호 조치로 외부 복제와 리전 간 복제는 각각 어떤 경우에 사용해야 하나요?
-
외부 복제 리전 간 복제 고객이 직접 관리 Cloud SQL에서 리전 간 복제본 관리 Google Cloud 이외의 인스턴스와 Google Cloud 인스턴스 간에 복제 가능 Cloud SQL 인스턴스 간에만 복제 가능 Google Cloud 간에 마이그레이션하여 다운타임 최소화 또는 하이브리드/멀티 클라우드 데이터 보호 Google Cloud 리전 간에 데이터를 마이그레이션하여 다운타임 최소화 주 버전 간 복제 지원 주 버전 간 복제를 지원하지 않음 - Cloud SQL 인스턴스의 다시 시작을 유발할 수 있는 작업은 무엇인가요?
-
사용자 또는 Cloud SQL이 다음 작업을 수행할 때 Cloud SQL 인스턴스가 다시 시작될 수 있습니다.
- 업데이트
- 생성
- 복제본 승격
- 유지보수
- 복제본 재생성
- 장애 조치
- 다시 시작
- 백업에서 인스턴스 복원
- 기존 인스턴스에서 고가용성 사용 설정(인스턴스에 대한 업데이트임)
- 다시 시작해야 하는 데이터베이스 플래그 추가
인스턴스를 다시 시작해도 인스턴스의 공개 또는 비공개 IP 주소가 변경되지 않습니다.
다시 시작하는 동안 인스턴스가 얼마 동안 종료되나요? 시나리오를 참조하세요.
- 다시 시작하는 동안 인스턴스가 얼마 동안 종료되나요?
-
인스턴스를 다시 시작할 때 인스턴스의 대부분이 1~2분 정도 종료됩니다. 인스턴스가 종료되기 전에 모든 연결이 종료되고 현재 작업은 디스크에서 삭제됩니다.
부하가 큰 인스턴스의 경우 이 프로세스에 시간이 오래 걸리고 인스턴스가 중지된 것처럼 보일 수 있습니다. 이러한 경우 인스턴스가 종료되고 다시 시작되는 데 최대 1시간이 걸릴 수 있습니다. 인스턴스를 종료하고 다시 시작하는 데 시간이 오래 걸리는 이유로는 사용자에게 쓰기 트랜잭션이 많거나 트랜잭션이 장시간 실행되는 경우가 있습니다.
- 데이터베이스를 확장하거나 축소할 수 있나요?
-
인스턴스에서 사용할 수 있는 스토리지 용량을 언제든 다운타임 없이 늘릴 수 있습니다. 인스턴스의 스토리지 크기를 줄일 수는 없습니다. 또한 공간이 부족할 때 스토리지 용량을 자동으로 늘리도록 인스턴스를 구성할 수도 있습니다. 자세히 알아보기.
- vCPU를 업그레이드 및 다운그레이드할 수 있나요?
-
예. 인스턴스에서 사용하는 vCPU 수를 변경할 수 있습니다. 사용하는 코어 수를 원하는 만큼 늘리거나 줄일 수 있습니다. 일반적으로 vCPU 수 변경에 걸리는 시간은 5분 미만입니다. Cloud SQL Enterprise Plus 버전 기본 인스턴스에서 vCPU 수를 늘리면 거의 0에 가까운 다운타임으로 변경사항이 적용됩니다.
- Cloud SQL을 관리하려면 Google Cloud 콘솔을 사용해야 하나요?
- 아니요. 콘솔을 사용하여 수행할 수 있는 모든 관리 태스크는 Cloud SQL Admin API를 통해 프로그래매틱 방식으로 수행되거나
gcloud
명령줄 도구를 통해 스크립트로 작성될 수도 있습니다. - 삭제된 테이블의 공간을 확보하려면 어떻게 해야 하나요?
- 데이터베이스에서 테이블을 삭제한 후 Google Cloud 콘솔을 확인했을 때 테이블 삭제로 확보한 공간이 인스턴스의 사용된 스토리지에 반영되지 않을 수 있습니다. MySQL 5.5를 실행하는 인스턴스에서는 기본적으로
innodb_file_per_table
플래그가OFF
로 설정되어 있습니다. InnoDB는 기본 테이블스페이스를 전혀 축소시키지 않습니다. 이 구성에서 공간을 확보하려면 작은 데이터베이스에서 새 인스턴스를 만들거나innodb_file_per_table
플래그 값을ON
으로 변경합니다. 데이터베이스 플래그를 변경하는 방법에 대한 자세한 내용은 데이터베이스 플래그 구성을 참조하세요. - 임시 파일에서 사용하는 공간을 확보하려면 어떻게 해야 하나요?
- SQL 쿼리가 임시 테이블을 많이 만들면 임시 파일이 커질 수 있습니다. 임시 테이블에 사용된 공간을 회수하려면 데이터베이스를 다시 시작해야 합니다. 데이터베이스를 다시 시작해도 임시 파일 증가로 인해 발생한 프로비저닝된 디스크 공간은 줄어들지 않습니다.
- 데이터 변경사항을 어떻게 추적할 수 있나요?
- 인스턴스의 바이너리 로깅을 사용 설정하면 데이터 변경사항을 추적할 수 있습니다. 데이터 변경사항을 추적하면 실수로 인한 데이터 손실을 복구할 수 있습니다. 예를 들어
DROP DATABASE
명령어를 사용하여 실수로 데이터가 손실된 경우 데이터 손실 이벤트 직전의 바이너리 로그 좌표로 복원할 수 있습니다. 자세한 내용은 point-in-time recovery를 참조하세요. 바이너리 로깅은 아직 PostgreSQL 인스턴스에서 사용할 수 없습니다. - 특정 데이터베이스를 가져오거나 내보낼 수 있나요?
- 예. MySQL 인스턴스와 SQL Server 인스턴스의 경우 단일 데이터베이스 또는 여러 데이터베이스를 가져오거나 내보낼 수 있습니다. PostgreSQL 인스턴스의 경우에는 특정 데이터베이스만 가져오거나 내보낼 수 있습니다.
- CSV 파일을 가져오거나 내보낼 수 있나요?
-
MySQL 또는 PostgreSQL에 대해 CSV 파일을 가져오거나 내보낼 수 있습니다. 자세한 내용은 CSV 파일 만들기를 참조하세요.
CSV는 현재 SQL 서버용 Cloud SQL에서 지원되지 않습니다.
- 인스턴스로 데이터를 가져오거나 내보내려면 Cloud Storage 계정이 필요한가요?
- Cloud SQL에서는 Cloud Storage 버킷을 사용하여 데이터베이스(압축 또는 비압축 SQL 덤프 파일 및 CSV 파일)를 가져오거나 내보낼 수 있습니다. Cloud Storage 버킷을 사용하여 가져오거나 내보내려면 Google Cloud 계정에 가입하고 버킷을 만들거나 다른 계정에서 Cloud Storage 버킷에 액세스할 수 있어야 합니다. 자세한 내용은 SQL 덤프 파일을 사용하여 내보내기 및 가져오기, pg_dump 및 pg_restore를 사용하여 내보내기 및 가져오기, BAK 파일을 사용하여 내보내기 및 가져오기 또는 CSV 파일을 사용하여 내보내기 및 가져오기를 참조하세요.
- 가져오기 작업에서
ERROR_RDBMS
는 무엇을 의미하나요? -
이 오류는 데이터 가져오기 작업 중에 MySQL이 오류를 반환할 경우에 발생합니다. 일반적인 원인은 문법이 잘못되었거나 정의되지 않은 데이터베이스 또는 테이블을 사용했거나
SUPER
권한이 필요한 MySQL 문 실행을 시도했기 때문입니다. - 인스턴스를 삭제하면 인스턴스 이름을 다시 사용할 수 있나요?
- 예.
cloudsqladmin
데이터베이스 사용자란 무엇인가요?- 모든 Cloud SQL 인스턴스에는
cloudsqladmin
이라는 데이터베이스 사용자가 있습니다.SHOW GRANTS FOR cloudsqladmin@localhost
를 지정하면 이 사용자를 확인할 수 있습니다. 일부 인스턴스에서는 이 이름이 시스템 사용자 테이블에도 표시됩니다. 이 사용자 계정은 인스턴스의 데이터에 액세스해야 하는 자동 프로세스(예: 인스턴스 백업 또는 가져오기/내보내기 수행)에서 사용됩니다. GRANT ALL
을 사용하려면 어떻게 해야 하나요?- Cloud SQL은
SUPER
권한을 지원하지 않기 때문에GRANT ALL PRIVILEGES
문이 작동하지 않습니다. 대신GRANT ALL ON `%`.*
를 사용하면 됩니다. - 인스턴스의 트랜잭션 로그에 어떻게 액세스하나요?
- MySQL 인스턴스의 경우 인스턴스의 바이너리 로깅을 사용 설정하고(바이너리 로깅 사용 설정 참조) 인스턴스의 IP 주소를 구성하면(IP 연결 액세스 구성 참조) 표준 MySQL mysqlbinlog 유틸리티를 사용하여 인스턴스의 트랜잭션 로그를 검사할 수 있습니다.
- Cloud SQL은 어느 정도 수준의 트랜잭션 격리를 제공하나요?
-
MySQL 인스턴스: Cloud SQL에서는
REPEATABLE READ
트랜잭션 격리를 제공합니다. 현재 세션의 트랜잭션 격리 수준을 변경할 수 있지만 일반적으로는 기본값을 사용하는 것이 좋습니다. 자세한 내용은 MySQL 문서의 트랜잭션 격리 수준을 참조하세요.PostgreSQL 인스턴스: Cloud SQL에서는
Read committed
트랜잭션 격리를 제공합니다. 특정 트랜잭션의 트랜잭션 격리 수준을 변경할 수 있지만 일반적으로는 기본값을 사용하는 것이 좋습니다. 자세한 내용은 PostgreSQL 문서의 트랜잭션 격리를 참조하세요.SQL Server 인스턴스: Cloud SQL은 모든 트랜잭션 격리 수준을 제공합니다. 따라서
UNCOMMITTED
,READ COMMITTED
,REPEATABLE READ
,SNAPSHOT
,SERIALIZABLE
이 지원됩니다. - 인스턴스를 실수로 삭제하지 않도록 보호하려면 어떻게 해야 하나요?
- 인스턴스를 만들 때 또는 나중에 삭제 보호를 사용 설정할 수 있습니다. 이 설정이 사용 설정된 경우 인스턴스를 삭제하기 전에 이 설정을 중지해야 합니다. 인스턴스 삭제 방지를 참조하세요.
- 통계에서 샘플 쿼리 계획을 찾을 수 없는 이유는 무엇인가요?
- 쿼리에 미치는 성능 영향으로 인해 쿼리 계획을 가져오는 샘플 쿼리만 있습니다. 따라서 샘플 쿼리 계획이 표시되지 않을 수 있습니다.
- Cloud SQL을 사용해보려면 어떻게 해야 하나요?
- 가장 작은 인스턴스는
db-f1-micro
입니다. 이 인스턴스로 서비스를 사용해볼 수 있습니다. 공유 코어 인스턴스에는 SLA가 적용되지 않습니다. - 한 프로젝트에서 만들 수 있는 인스턴스 수는 몇 개인가요?
- 인스턴스 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.
- 데이터베이스 인스턴스의 요구되는 크기는 무엇인가요? RAM은 어느 정도가 필요한가요?
- 일반적으로 RAM과 CPU를 추가한 대용량 인스턴스를 선택하면 데이터베이스 성능이 향상될 수 있습니다. 이렇게 하면 단일 행에 영향을 미치는 업데이트의 성능은 크게 영향을 받지 않지만, 조인, ORDER BY, GROUPing을 포함하는 쿼리 등과 같이 쿼리 수가 많아 대량의 계산이 수반되는 경우에는 성능이 향상됩니다. 하지만 인스턴스 크기가 클수록 운영 지연 시간도 길어집니다. 인스턴스 크기 및 가격에 대한 자세한 내용은 가격 책정 페이지를 참조하세요.
- 인스턴스 사용량은 어떻게 계산하나요?
-
인스턴스가 실행되는 동안 분당 요금이 부과됩니다.
SQL Server 인스턴스: Microsoft SQL Server 라이선스에 따라 인스턴스의 가상 CPU마다 하나씩 코어 라이선스가 할당되어야 하며, 인스턴스당 최소 4개의 코어 라이선스가 할당되어야 합니다. vCPU가 4개 미만인 인스턴스의 경우 이 요구사항을 충족하기 위해 라이선스 요율의 4배에 해당하는 금액이 SQL Server 요금으로 부과됩니다. vCPU가 4개 이상인 인스턴스에서는 vCPU 수와 일치하는 SQL Server 라이선스 수에 따른 요금이 청구됩니다.
- 저장용량은 어떻게 계산하나요?
- 저장용량은 인스턴스에 프로비저닝된 저장용량에 따라 계산됩니다. 백업용 저장소는 백업이 사용하는 공간 크기에 따라 요금이 부과됩니다. 저장소는 인스턴스가 켜져 있는지와 관계없이 요금이 부과됩니다.
- 청구될 요금을 어떻게 확인할 수 있나요?
- Google Cloud 콘솔의 결제 탭에는 청구서가 마지막으로 발행된 후 인스턴스에 청구된 요금이 표시됩니다.
- 인스턴스가 최대 허용 크기에 도달하면 어떻게 되나요?
- 인스턴스가 프로비저닝된 저장소 크기에 도달하고 저장용량 자동 증가가 사용 설정되지 않았거나 구성된 한도에 도달한 경우, 저장소 크기를 늘릴 때까지 데이터베이스에 대한 추가 쓰기가 허용되지 않습니다. 저장소 크기를 늘리는 데 인스턴스 재시작 또는 다운타임이 필요하지 않습니다.
- 인스턴스가 정지되는 이유는 무엇인가요?
- Google Cloud 계정에 문제가 있을 수 있습니다. 결제 지원 요청을 제출하면 결제 상태를 확인할 수 있습니다. 결제 문제가 해결되면 인스턴스가 몇 시간 내에 실행 가능한 상태로 돌아갑니다. 정지된 MySQL 인스턴스는 90일 후에 삭제됩니다.
- 인스턴스가 삭제된 이유는 무엇인가요?
-
90일 동안 정지된 인스턴스는 삭제됩니다. 상태가
SUSPENDED
인 인스턴스도 마찬가지입니다. 상태가RUNNABLE
인 중지된 인스턴스는 삭제되지 않습니다. - Cloud SQL 계정을 취소하려면 어떻게 해야 하나요?
- Google Cloud 콘솔에서 프로젝트를 선택한 후 API 서비스를 선택하여 API 대시보드를 열어서 프로젝트의 Cloud SQL을 비활성화할 수 있습니다. Cloud SQL API를 찾고 해당 API의 사용 중지를 클릭합니다.
- 결제를 중지하려면 어떻게 하나요?
- 프로젝트의 Google Cloud 콘솔 결제 및 설정 창에서 결제 중지를 클릭하여 결제를 중지할 수 있습니다. 결제를 중지하도록 설정하는 경우 Cloud SQL 서비스도 중지하도록 설정됩니다. 결제를 중지하기 전에 Cloud SQL 서비스를 중지해도 좋을지 먼저 확인하세요.
결제를 중지하도록 설정하면 결제 주기 시작 시점과 취소 시점 사이에 발생한 요금에 대해 최종 청구서를 받게 됩니다.
- App Engine에서 MySQL 인스턴스로 연결할 수 있나요?
- 애플리케이션이 실행되는 환경(표준 환경 또는 가변형 환경)과 관계없이 App Engine 애플리케이션에서 MySQL 인스턴스로 연결할 수 있습니다. 자세한 내용은 App Engine 표준 환경에서 연결 또는 App Engine 가변형 환경에서 연결을 참조하세요.
- App Engine에서 PostgreSQL 인스턴스로 연결할 수 있나요?
- 사용 중인 환경 및 언어에 따라 App Engine 애플리케이션에서 PostgreSQL 인스턴스로 연결할 수 있습니다. 자세한 내용은 App Engine 표준 환경에서 연결 또는 App Engine 가변형 환경에서 연결을 참조하세요.
- App Engine에서 SQL Server 인스턴스로 연결할 수 있나요?
- 사용 중인 환경 및 언어에 따라 App Engine 애플리케이션에서 SQL Server 인스턴스로 연결할 수 있습니다. 자세한 내용은 App Engine 표준 환경에서 연결 또는 App Engine 가변형 환경에서 연결을 참조하세요.
- 미국의 App Engine 애플리케이션에서 EU의 Cloud SQL 인스턴스에 액세스할 수 있나요? 또한 반대의 경우도 가능한가요?
-
MySQL 인스턴스에 연결하는 경우 App Engine 애플리케이션이 동일한 리전에 있을 필요가 없으며 표준 또는 가변형 환경에서 실행될 수 있습니다. 그러나 Cloud SQL 인스턴스와 App Engine 애플리케이션 간의 거리가 멀어지면 데이터베이스 연결 지연 시간이 길어집니다.
Cloud SQL 인스턴스에 연결하는 경우 App Engine 애플리케이션이 동일한 지역에 있을 필요는 없습니다. 그러나 Cloud SQL 인스턴스와 App Engine 애플리케이션 간의 거리가 멀어지면 데이터베이스 연결 지연 시간이 길어집니다.
- 나에게 맞는 Google Cloud 데이터베이스 서비스는 무엇인가요?
- 애플리케이션의 요구사항에 따라 다릅니다. Google Cloud는 데이터를 저장, 관리, 검색할 수 있는 다양한 옵션을 제공합니다. 자세한 내용은 Google Cloud 데이터베이스를 참조하세요.
- App Engine 개발 서버를 사용하려면 로컬 데이터베이스 서버를 설치해야 하나요?
- 아니요. 개발 서버에서 실행할 때 Cloud SQL 또는 로컬에 설치된 데이터베이스 서버를 사용하도록 App Engine을 구성할 수 있습니다.
- 인스턴스 액세스에 사용 가능한 언어는 무엇인가요?
-
App Engine 표준 환경은 인스턴스에 연결하는 데 사용할 수 있는 여러 가지 언어를 지원합니다. 자세한 내용은 App Engine 표준 환경에서 연결 또는 App Engine 가변형 환경에서 연결을 참조하세요.
App Engine을 사용하지 않는 경우 연결된 커넥터 또는 API가 있는 언어를 사용할 수 있습니다. 지원되는 언어 목록은 MySQL 참조 설명서의 커넥터 및 API 장을 참조하세요.
- Django를 Cloud SQL과 함께 사용할 수 있나요?
- 예. Cloud SQL은 Django와 호환됩니다. Django 시작하기를 참조하세요.
- Python 쿼리 문자열에서 사용할 수 있는 자리표시자는 무엇인가요?
- Python 사용자는 매개변수 치환 시
%s
형식 코드만 사용할 수 있습니다. 따라서cursor.execute('INSERT INTO entries (guestAge) VALUES (%d)', (age))
문은 유효하지 않습니다. - 연결을 관리하려면 어떻게 해야 하나요?
-
연결 풀링 및 지수 백오프 사용을 포함한 효율적인 데이터베이스 연결 관리는 데이터베이스 애플리케이션 개발에 있어 중요한 부분입니다. 이러한 기술을 다양한 언어와 프레임워크에서 활용하는 방법의 예는 데이터베이스 연결 관리를 참조하세요.
인스턴스 연결 제한에 대한 자세한 내용은 할당량 및 한도를 참조하세요.
- '잘못된 연결 ID'라는 메시지를 표시하는 SQLException은 무엇을 의미하나요?
- 서버에서 더 이상 연결이 열려 있지 않으므로 클라이언트에서 연결이 삭제된다는 의미입니다. 이 경우 이미 종료되었기 때문에 '종료'를 호출할 필요는 없습니다.
- App Engine 외부에서 프로그래매틱 방식으로 Cloud SQL 인스턴스에 액세스할 수 있나요?
- 예. 지원되는 언어를 사용하여 외부 애플리케이션에서 프로그래매틱 방식으로 Cloud SQL 인스턴스에 액세스할 수 있습니다. 연결 개요를 참조하세요.