Cloud SQL 읽기 풀은 대규모 읽기 워크로드의 부하 분산을 지원합니다.
읽기 풀이란 무엇인가요?
읽기 풀은 대량 읽기 워크로드를 분산하는 데 사용되는 읽기 복제본 인스턴스의 모음입니다. 이러한 워크로드를 기본 인스턴스에서 읽기 풀로 리디렉션하여 기본 인스턴스의 부하를 줄일 수 있습니다.
읽기 풀의 각 읽기 복제본을 읽기 풀 노드라고 합니다.
여러 가지 방법으로 읽기 풀을 확장할 수 있습니다.
- 스케일 인 또는 스케일 아웃: 읽기 풀에서 읽기 풀 노드 수를 수정하여 부하 분산 용량을 수평으로 확장합니다. 각 읽기 풀은 1~20개의 읽기 풀 노드를 지원합니다.
- 확장 또는 축소: 읽기 풀 노드와 연결된 머신 유형을 수정하여 부하 분산 용량을 수직으로 확장합니다. 정의되면 구성이 읽기 풀의 각 읽기 풀 노드에 균일하게 적용됩니다.
스토리지, 연결 또는 데이터베이스 구성 플래그와 같은 읽기 풀 노드 설정을 수정하면 변경사항이 읽기 풀의 각 읽기 풀 노드에 균일하게 자동으로 적용됩니다.
읽기 풀은 변경 불가능한 IP 주소가 있는 단일 읽기 엔드포인트를 통해 액세스할 수 있습니다. 엔드포인트를 통해 이루어진 연결은 읽기 풀 노드 중 하나로 자동 리디렉션됩니다. 읽기 풀을 스케일 인 또는 스케일 아웃하려는 경우 읽기 풀에서 새 읽기 풀 노드를 만들거나 이전 노드를 삭제할 수 있지만 이전에 단일 읽기 엔드포인트에 연결된 애플리케이션을 재구성할 필요는 없습니다.
각 읽기 풀 노드에도 자체 IP 주소가 있습니다. 데이터에 액세스하는 효율적인 방법은 아니지만 이러한 IP 주소를 사용하여 개별 읽기 풀 노드 성능을 문제 해결할 수 있습니다.
읽기 풀 또는 읽기 풀 노드 (IP 주소 또는 연결 문자열)의 연결 정보를 가져오는 방법에 대한 자세한 내용은 읽기 풀 정보 보기를 참고하세요.
다음 특성이 적용됩니다.
- 읽기 풀의 읽기 풀 노드는 항상 사용자가 지정한 것과 동일한 리전에 있습니다. Google Cloud 는 리전의 모든 영역 간에 읽기 풀 노드 상주를 번갈아 가며 실행합니다.
- 기본 인스턴스에는 하나 이상의 읽기 풀이 있을 수 있습니다.
- 다음 작업에는 1초 미만의 다운타임이 발생합니다.
- 스케일 아웃 또는 스케일 인 (읽기 풀 노드 추가 또는 삭제)
- 스케일 업 또는 스케일 다운 (풀의 노드 머신 유형 변경)
- 기존 리전 읽기 복제본을 읽기 풀로 변환
- 읽기 풀은 읽기 복제본과 마찬가지로 기본 인스턴스보다 먼저 유지보수를 받습니다. 읽기 복제본과 마찬가지로 읽기 풀은 기본 인스턴스의 유지보수 기간에 유지보수를 받습니다.
- 각 읽기 풀 노드에는 Cloud SQL 읽기 복제본과 동일한 측정항목이 제공됩니다.
gcloud
또는 Google Cloud 콘솔을 사용하여 프로젝트의 세부정보를 설명할 때는 읽기 풀 이름이 나열되지만 개별 읽기 풀 노드 이름은 나열되지 않습니다.
제한사항
다음과 같은 제한사항이 적용됩니다.
- 읽기 풀은 새 네트워크 아키텍처의 Cloud SQL Enterprise Plus 버전 인스턴스에서만 사용할 수 있습니다. 읽기 풀과 연결된 기본 인스턴스도 Cloud SQL Enterprise Plus 버전 인스턴스여야 합니다.
- 데이터베이스가 정상인지 여부에 따라 읽기 풀 노드에서 트래픽이 제공되지만 해당 읽기 풀 노드의 복제 지연이 얼마나 높은지는 관계없습니다. 지연되지 않는 다른 읽기 풀 노드가 있더라도 지연되는 읽기 풀 노드에서 트래픽이 제공될 수 있습니다. 데이터베이스 프로세스가 실행 중이고 쿼리에 응답할 수 있으면 데이터베이스가 정상으로 간주되지만 제공되는 데이터의 최신 상태에 관한 요구사항은 없습니다.
- 읽기 풀의 여러 읽기 풀 노드에 연결되는 단일 논리 세션에 관해서는 보장되는 사항이 없습니다. 세션의 후속 요청이 이전 요청을 처리한 읽기 풀 노드보다 복제 위치(LSN)가 낮은 읽기 풀 노드에 연결될 수 있으며, 이로 인해 데이터베이스 상태가 이전으로 돌아간 것처럼 보일 수 있습니다.
- 다음 유형의 업데이트는 지원되지 않습니다.
- 읽기 풀은 여전히 Cloud SQL 유지보수 업데이트를 수신하지만 읽기 풀을 새 주요 데이터베이스 버전으로 업데이트할 수는 없습니다.
- 읽기 풀의 노드 시작 또는 중지
- 읽기 복제본에서 지원되지 않는 작업 외에도 읽기 풀에서는 다음 작업이 지원되지 않습니다.
- 복제본 승격
- restart
- import
- export
- 장애 조치
- 다시 암호화
- clone
- 다음 기능은 읽기 풀과 함께 사용할 수 없습니다.
- Private Service Connect
- 공유 CA 또는 고객 관리 CA가 있는 SSL/TLS 인증서
- 읽기 풀은 연쇄 복제본이나 다른 읽기 풀과 같은 다른 인스턴스로 복제할 수 없습니다.
- 읽기 풀은 기본 인스턴스에서 직접 복제해야 합니다. 연결된 복제본일 수 없습니다.
- 리전 읽기 복제본을 읽기 풀로 변환하려면 먼저 리전 읽기 복제본을 영역 읽기 복제본으로 변환해야 합니다.
- 읽기 풀을 만들거나 확장할 때는 읽기 풀과 연결된 이전 풀 생성, 축소 또는 확장 작업이 완료될 때까지 기다려야 합니다. 이 제한은 동일한 기본 인스턴스와 연결된 다른 읽기 풀에도 적용됩니다. 동일한 기본 인스턴스와 연결된 여러 읽기 풀을 확장하려면 첫 번째 읽기 풀과 연결된 확장 작업이 완료될 때까지 기다린 후 다음 읽기 풀 확장을 시작해야 합니다. 동시 요청을 실행하면
Operation failed because another operation was already in progress.
오류가 표시될 수 있습니다. - 기본 복제본과 동일한 리전에 있는 영역 복제본만 읽기 풀에서 사용할 수 있도록 변환할 수 있습니다.
- 머신 유형을 동시에 변경하는 동안 읽기 풀에서 읽기 풀 노드를 추가하거나 삭제할 수 없습니다.
- 애플리케이션이 전용 읽기 복제본에 연결해야 하는 경우(예: 특정 읽기 복제본에 보조 색인이 있는 경우) Cloud SQL 읽기 복제본을 만들어 대신 사용하세요.
- 읽기 풀과 연결된 특정 사용자 및 데이터베이스를 쿼리할 수 없습니다. Cloud SQL Studio는 사용자와 데이터베이스에서 제공하는 데이터를 사용하므로 읽기 풀에서는 Cloud SQL Studio가 지원되지 않습니다.