할당량 및 한도

이 페이지에서는 Spanner의 프로덕션 할당량과 한도를 설명합니다. 할당량과 한도는 Google Cloud 콘솔에서 서로 바꿔서 사용할 수 있습니다.

할당량 및 한도 값은 변경될 수 있습니다.

할당량을 확인 및 수정할 수 있는 권한

할당량을 보려면 serviceusage.quotas.get Identity and Access Management(IAM) 권한이 있어야 합니다.

할당량을 변경하려면 serviceusage.quotas.update IAM 권한이 있어야 합니다. 이 권한은 기본적으로 사전 정의된 역할(소유자, 편집자, 할당량 관리자)에 포함되어 있습니다.

이러한 권한은 기본적으로 소유자 및 편집자의 기본 IAM 역할과 사전 정의된 할당량 관리자 역할에 포함되어 있습니다.

내 할당량 확인

프로젝트 리소스의 현재 할당량을 확인하려면 Google Cloud 콘솔을 사용합니다.

할당량으로 이동

할당량 상향 조정

Spanner 사용량이 점차 늘어나면 할당량도 이에 따라 늘릴 수 있습니다. 앞으로 사용량이 현저하게 늘어날 것으로 예상되는 경우 할당량을 이에 맞게 조정하려면 며칠 전에 미리 요청해야 합니다.

소비자 할당량 재정의를 늘려야 할 수도 있습니다. 자세한 내용은 소비자 할당량 재정의 만들기를 참조하세요.

Google Cloud console을 사용하여 현재 Spanner 인스턴스 구성 노드 한도를 늘릴 수 있습니다.

  1. 할당량 페이지로 이동합니다.

    할당량 페이지로 이동

  2. 서비스 드롭다운 목록에서 Spanner API를 선택합니다.

    Spanner API가 표시되지 않으면 Spanner API가 사용 설정되지 않은 것입니다. 자세한 내용은 API 사용 설정을 참조하세요.

  3. 변경하려는 할당량을 선택합니다.

  4. 할당량 수정을 클릭합니다.

  5. 할당량 변경 패널이 나타나면 새 할당량 한도를 입력합니다.

    인스턴스 만들기 창 스크린샷

  6. 완료를 클릭한 후 요청 제출을 클릭합니다.

    노드 한도를 원하는 한도로 늘릴 수 없으면 더 큰 할당량 신청을 클릭합니다. Spanner 팀에 요청을 제출하려면 양식을 작성하세요. 요청이 제출된 후 48시간 이내에 답변을 드립니다.

커스텀 인스턴스 구성에 대한 할당량 상향 조정

커스텀 인스턴스 구성의 노드 할당량을 늘릴 수 있습니다.

  1. 기본 인스턴스 구성의 노드 한도를 확인하여 커스텀 인스턴스 구성의 노드 한도를 확인합니다.

    커스텀 인스턴스 구성의 기본 구성을 모르거나 기억하지 못하는 경우 인스턴스 구성 세부정보 표시 명령어를 사용합니다.

  2. 커스텀 인스턴스 구성에 필요한 노드 한도가 85보다 작은 경우 이전 할당량 상향 조정 섹션의 안내를 따르세요. Google Cloud Console을 사용하여 커스텀 인스턴스 구성과 연결된 기본 인스턴스 구성의 노드 한도를 늘립니다.

    커스텀 인스턴스 구성에 필요한 노드 한도가 85보다 큰 경우 Spanner 노드의 할당량 상향 요청 양식을 작성하세요. 양식에 커스텀 인스턴스 구성의 ID를 지정합니다.

노드 한도

한도
인스턴스 구성당 노드

기본 한도는 프로젝트 및 인스턴스 구성에 따라 다릅니다. 프로젝트 할당량 한도를 변경하거나 한도 상향을 요청하려면 할당량 상향 조정을 참조하세요.

인스턴스 한도

한도
인스턴스 ID 길이 2~64자(영문 기준)

무료 체험판 인스턴스 한도

Spanner 무료 체험판 인스턴스에는 다음과 같은 추가 한도가 있습니다. 한도를 늘리거나 없애려면 무료 체험판 인스턴스를 유료 인스턴스로 업그레이드하세요.

한도
스토리지 용량 10GB
데이터베이스 한도 최대 5개의 데이터베이스 만들기
지원되지 않는 기능 백업 및 복원
SLA SLA 보장 없음
무료 체험 기간 90일 무료 체험 기간

인스턴스 구성 한도

한도
프로젝트당 최대 커스텀 인스턴스 구성 100
커스텀 인스턴스 구성 ID 길이

8~64자(영문 기준)

커스텀 인스턴스 구성 ID는 custom-으로 시작해야 합니다.

데이터베이스 한도

한도
인스턴스당 데이터베이스
  • 노드 1개(처리 단위 1,000개) 이상의 인스턴스: 데이터베이스 100개
  • 노드 1개보다 작은 인스턴스: 처리 단위 100개당 데이터베이스 10개
데이터베이스당 역할 100
데이터베이스 ID 길이 2~30자(영문 기준)
스토리지 크기1
  • 노드 1개(처리 단위 1,000개) 이상인 인스턴스: 노드당 4TB
  • 노드가 1개 미만인 인스턴스: 처리 단위 100개당 409.6GB

10TB의 증가된 스토리지 용량을 일부 리전 및 멀티 리전 Spanner 인스턴스 구성에서 사용할 수 있습니다. 자세한 내용은 성능 및 스토리지 개선사항을 참조하세요.

백업은 별도로 저장되며 이 한도에 포함되지 않습니다. 자세한 내용은 스토리지 사용량 측정항목을 참조하세요.

Spanner는 사용 가능한 총 스토리지가 아니라 인스턴스 내에서 사용된 실제 스토리지에 따라 비용을 청구합니다.

백업 및 복원 한도

한도
데이터베이스당 진행 중인 백업 만들기 작업 수 1
인스턴스당 진행 중인 데이터베이스 복원 작업 수(백업이 아닌 복원된 데이터베이스의 인스턴스) 10
백업의 최대 보관 기간 1년(윤년에 추가되는 하루 포함)

스키마 한도

DDL 문

한도
단일 스키마 변경을 위한 DDL 문 크기 10MB
전체 데이터베이스 스키마의 DDL 문 크기(GetDatabaseDdl에 의해 반환됨) 10MB

테이블

한도
데이터베이스당 테이블 5,000
테이블 이름 길이 1~128자(영문 기준)
테이블당 열 1,024
열 이름 길이 1~128자(영문 기준)
셀당 데이터 크기 10MB
테이블 키의 열 수

16

상위 테이블과 공유한 키 열 포함

테이블 인터리브 처리 깊이

7

하위 테이블이 있는 최상위 테이블의 깊이는 1입니다.

2차 이상의 하위 테이블이 있는 최상위 테이블의 깊이는 2 이상입니다.

테이블 또는 색인 키의 총 크기

8KB

키를 구성하는 모든 열의 크기 포함

키 열이 아닌 열의 총 크기

1600MB

테이블의 모든 키 열이 아닌 열의 크기 포함

색인

한도
데이터베이스당 색인 10,000
테이블당 색인 128
색인 이름 길이 1~128자(영문 기준)
색인 키의 열 수

16

색인이 생성된 열(저장 중인 열은 제외)과 기본 테이블의 기본 키 열을 합친 개수

한도
데이터베이스당 뷰 5,000
뷰 이름 길이 1~128자(영문 기준)
중첩 깊이

10

다른 뷰를 참조하는 뷰의 중첩 깊이는 1입니다. 아직 다른 뷰를 참조하는 다른 뷰를 참조하는 뷰의 중첩 깊이는 2입니다.

쿼리 한도

한도
단일 GROUP BY 절 내 열 1,000
IN 연산자 값 10,000
함수 호출 1,000
조인 20
중첩 함수 호출 75
중첩 GROUP BY 35
중첩 서브 쿼리 표현식 25
중첩 하위 선택 문 60
매개변수 950
쿼리 문 길이 100만 자(영문 기준)
필드 STRUCT 1,000
서브 쿼리 표현식 하위 요소 50
단일 쿼리 내 Union 200

데이터 만들기, 읽기, 업데이트, 삭제 한도

한도
커밋 크기(색인 및 변경 내역 포함) 100MB
세션당 동시 실행 읽기 100
커밋당 변형(색인 포함)2 80,000
데이터베이스당 동시 Partitioned DML 20,000

관리 한도

한도
관리 작업 요청 크기3 1MB
관리자 작업의 비율 제한4

사용자별 프로젝트당 초당 5개

(100초 동안의 평균)

요청 한도

한도
커밋 외의 요청 크기5 10MB

변경 스트림 한도

한도
데이터베이스당 변경 스트림 10
지정된 키 열이 아닌 열을 감시하는 변경 내역6 3
변경 스트림 데이터 파티션당 동시 리더7 5

Data Boost 한도

한도
동시 Data Boost 요청8 200

참고

1. 데이터베이스에 액세스하는 데 필요한 고가용성 및 짧은 지연 시간을 제공하기 위해 Spanner는 인스턴스의 컴퓨팅 용량을 기반으로 스토리지 한도를 정의합니다.

  • 노드 1개(처리 단위 1,000개)보다 작은 인스턴스의 경우 Spanner는 데이터베이스에 있는 처리 단위 100개마다 409.6GB 데이터를 할당합니다.
  • 노드 1개보다 큰 인스턴스의 경우 Spanner는 노드마다 4TB 데이터를 할당합니다.

예를 들어 600GB 데이터베이스의 인스턴스를 만들려면 컴퓨팅 용량을 처리 단위 200개로 설정해야 합니다. 이렇게 하면 데이터베이스 크기가 819.2GB를 초과할 때까지 인스턴스를 한도 이하로 유지할 수 있습니다. 데이터베이스가 이 크기에 도달하면 데이터베이스 확장을 허용하도록 또 다른 처리 단위 100개를 추가해야 합니다. 그렇지 않으면 데이터베이스에 대한 쓰기가 거부될 수 있습니다. 자세한 내용은 데이터베이스 스토리지 사용률 권장사항을 참조하세요.

원활하게 확장될 수 있도록 데이터베이스 한도에 도달하기 전에 컴퓨팅 용량을 추가하세요.

2. 삽입 및 업데이트 작업은 영향을 받는 열 수를 합하여 계산되며 기본 키 열은 항상 영향을 받습니다. 예를 들어 열 5개에 값을 삽입하면 새로 삽입한 레코드가 변형 5개로 계산될 수 있습니다. 레코드에 기본 키 열이 2개 있으면 레코드에서 열 3개를 업데이트하면 변형 5개로 계산될 수 있습니다. 삭제 및 범위 삭제 작업은 영향을 받는 열 수에 관계없이 변형 1개로 계산됩니다. ON DELETE CASCADE 주석이 있는 상위 테이블의 열 삭제도 인터리브 처리된 하위 행 수에 관계없이 변형 1개로 계산됩니다. 예외적으로 삭제되는 행에 정의된 보조 색인이 있는 경우 보조 색인 변경은 개별적으로 계산됩니다. 예를 들어 테이블에 2개의 보조 색인이 있다면 테이블의 행 범위 삭제는 테이블에 대한 변형 1개와 삭제되는 각 행에 대한 변형 2개로 계산됩니다. 보조 색인의 행은 키 공간에 분산될 수 있으므로 Spanner가 보조 색인에서 단일 범위 삭제 작업을 호출할 수 없기 때문입니다. 보조 색인에는 외래 키 지원 색인이 포함됩니다.

트랜잭션의 변형 수를 찾으려면 트랜잭션의 커밋 통계 검색을 참조하세요.

변경 스트림은 이 한도에 포함되는 어떠한 변형도 추가하지 않습니다.

3. 관리 작업 요청에 대한 한도에서 커밋, 참고 5에 나열된 요청, 스키마 변경사항은 제외됩니다.

4. 이 비율 제한에는 인스턴스, 데이터베이스 또는 백업의 장기 실행 작업을 폴링하는 호출을 비롯하여 Admin API에 대한 모든 호출이 포함됩니다.

5. 이 한도에는 데이터베이스 만들기, 데이터베이스 업데이트, 읽기, 스트리밍 읽기, SQL 쿼리 실행, 스트리밍 SQL 쿼리 실행이 포함됩니다.

6. 전체 테이블 또는 데이터베이스를 감시하는 변경 스트림은 해당 테이블 또는 데이터베이스에서 모든 열을 암시적으로 감시하므로 이 한도에 포함됩니다.

7. 이 한도는 리더가 Dataflow 파이프라인 또는 직접 API 쿼리인지 여부에 따라 동일한 변경 내역 파티션의 동시 리더에 적용됩니다.

8. 기본 한도는 프로젝트 및 리전에 따라 다릅니다. 자세한 내용은 Data Boost 할당량 사용량 모니터링 및 관리를 참조하세요.