할당량 및 한도
이 문서에서는 Bigtable에 적용되는 할당량과 시스템 한도를 설명합니다.
- 할당량은 사용할 수 있는 계수 가능한 공유 리소스의 양을 지정합니다. 할당량은 Bigtable과 같은 Google Cloud 서비스에서 정의됩니다.
- 시스템 한도는 변경할 수 없는 고정 값입니다.
Google Cloud는 공정성을 보장하고 리소스 사용 및 가용성의 급증을 줄이기 위해 할당량을 사용합니다. 할당량은 Google Cloud 프로젝트에서 사용할 수 있는 Google Cloud 리소스의 양을 제한합니다. 할당량은 하드웨어, 소프트웨어, 네트워크 구성요소를 포함하여 다양한 리소스 유형에 적용됩니다. 예를 들어 할당량에 따라 서비스에 대한 API 호출 수, 프로젝트에서 동시에 사용하는 부하 분산기 수, 만들 수 있는 프로젝트 수가 제한될 수 있습니다. 할당량은 서비스 과부하를 방지하여 Google Cloud 사용자 커뮤니티를 보호합니다. 할당량은 자체 Google Cloud 리소스를 관리하는 데도 도움이 됩니다.
Cloud Quotas 시스템은 다음을 수행합니다.
- Google Cloud 제품 및 서비스 소비량 모니터링
- 리소스 소비 제한
- 할당량 값 변경을 요청할 수 있는 수단 제공
대부분의 경우 할당량이 허용하는 것보다 더 많은 리소스를 소비하려고 하면 시스템에서 리소스에 대한 액세스를 차단하고 수행하려는 작업이 실패합니다.
할당량은 일반적으로 Google Cloud 프로젝트 수준에서 적용됩니다. 한 프로젝트의 리소스를 사용해도 다른 프로젝트에서 사용 가능한 할당량에는 영향을 미치지 않습니다. Google Cloud 프로젝트 내에서 할당량은 모든 애플리케이션과 IP 주소에 공유됩니다.
대부분의 할당량을 조정하려면 Google Cloud 콘솔을 사용합니다. 자세한 내용은 할당량 조정 요청을 참고하세요.
Bigtable 리소스에도 시스템 한도가 있습니다. 한도는 변경할 수 없습니다.
할당량
이 섹션에서는 모든 Bigtable 사용량에 적용되는 기본 할당량에 대해 설명합니다.
관리 작업 할당량
다음 할당량은 지정된 시간 동안 수행할 수 있는 Bigtable 관리 작업(Admin API 호출) 수에 영향을 미칩니다.
일반적으로 명시된 경우를 제외하고는 관리 작업 할당량 상향 조정을 요청할 수 없습니다. 타당한 근거를 제공할 경우 예외가 인정되기도 합니다. 하지만 사용량이 증가할 때 애플리케이션이 Admin API에 수행하는 호출 수가 증가해서는 안 됩니다. 이러한 경우 애플리케이션 코드가 Admin API에 불필요한 호출을 수행한다는 의미일 수 있으므로 관리자 작업 할당량 상향 조정을 요청하는 대신 애플리케이션을 변경해야 합니다.
일일 할당량은 태평양 표준시 자정에 재설정됩니다.
이름 | 설명 | 기본 할당량 |
---|---|---|
인스턴스 및 클러스터 | ||
인스턴스 및 클러스터 읽기 요청 | 인스턴스 또는 클러스터의 구성 읽기(예: 인스턴스 이름이나 클러스터의 노드 수) 또는 인스턴스 목록 읽기 |
프로젝트당 일일 작업 수: 작업 864,000개(평균 10개/초) 사용자별 분당 작업 수: 작업 1,000개 |
인스턴스 및 클러스터 쓰기 요청 | 인스턴스 또는 클러스터의 구성 변경(예: 인스턴스 이름이나 클러스터의 노드 수) 또는 새 인스턴스 만들기 |
프로젝트당 일일 작업 수: 작업 500개 사용자별 분당 작업 수: 작업 100개 |
애플리케이션 프로필 | ||
앱 프로필 읽기 요청 | 앱 프로필 구성 읽기 |
프로젝트별 분당 작업 수: 작업 5,000개 사용자별 분당 작업 수: 작업 1,000개 |
앱 프로필 쓰기 요청 | 앱 프로필 구성 변경 |
프로젝트별 분당 작업 수: 작업 500개 사용자별 분당 작업 수: 작업 100개 |
테이블 | ||
테이블 관리자 읽기 요청 | 테이블 구성 읽기(예: column family 세부정보) 또는 테이블 목록 읽기 |
프로젝트당 일일 작업 수: 작업 864,000개(평균 10개/초) 사용자별 분당 작업 수: 작업 1,000개 |
테이블 관리자 쓰기 요청 | 테이블 구성 변경(예: column family의 가비지 컬렉션 설정) |
프로젝트당 일일 작업 수: 작업 5,000개 사용자별 분당 작업 수: 작업 100개 |
DropRowRange 메서드 |
단일 작업으로 한 테이블의 행 범위 삭제 |
프로젝트당 일일 작업 수: 작업 5,000개 사용자별 분당 작업 수: 작업 100개 |
백업 | ||
백업 작업 | 백업 생성, 업데이트, 삭제 |
프로젝트당 일일 작업 수: 작업 1,000개 사용자별 분당 작업 수: 작업 10개1 |
백업 가져오기 요청 | 백업 가져오기 및 나열 |
프로젝트당 일일 작업 수: 작업 864,000개 |
RestoreTable 메서드 |
백업을 새 테이블로 복원 |
프로젝트당 일일 작업 수: 작업 5,000개 사용자별 분당 작업 수: 작업 100개 |
Identity and Access Management | ||
세밀한 ACL get 요청 | Bigtable 인스턴스에 대한 IAM 정책 정보 읽기 또는 인스턴스의 IAM 권한 테스트 |
프로젝트당 일일 작업 수: 작업 864,000개(평균 10개/초) 사용자별 분당 작업 수: 작업 1,000개 |
세밀한 ACL set 요청 | Bigtable 인스턴스의 IAM 정책 변경 |
프로젝트당 일일 작업 수: 작업 864,000개(평균 10개/초) 사용자별 분당 작업 수: 작업 1,000개 |
|
노드 할당량
Google Cloud 프로젝트에는 클러스터의 컨테이너인 Bigtable 인스턴스가 포함됩니다. 클러스터는 단일 영역에서 실행 중인 실제 Bigtable 서비스를 나타냅니다. 클러스터에는 Bigtable이 사용자의 데이터를 관리할 수 있도록 하는 컴퓨팅 리소스인 노드가 포함됩니다.
각 프로젝트의 영역당 프로비저닝할 수 있는 기본 노드 수는 리전에 따라 다릅니다. 프로젝트의 영역당 기본 HDD 노드 수와 기본 SSD 노드 수까지 프로비저닝할 수 있습니다.
기본 노드 할당량은 다음과 같습니다.
리전 | SSD | HDD |
---|---|---|
asia-east1 | 100 | 100 |
europe-west1 | 200 | 200 |
us-central1 | 200 | 200 |
us-east1 | 50 | 50 |
us-east4 | 50 | 50 |
us-west1 | 100 | 100 |
다른 모든 Bigtable 위치 | 30 | 30 |
클러스터에 자동 확장을 사용 설정하면 클러스터가 구성된 최대 노드 수로 확장되지 않은 경우에도 해당 노드 수가 이 한도에 반영됩니다. 프로비저닝해야 할 노드 수가 기본 한도를 초과하는 경우 상향 조정을 요청할 수 있습니다.
할당량 및 노드 가용성
노드 할당량은 각 프로젝트의 영역당 프로비저닝할 수 있는 최대 노드 수입니다. 할당량이 있다고 해서 항상 클러스터에 노드를 추가할 수 있는 것은 아닙니다. 영역에 노드가 없으면 프로젝트에 할당량이 남아 있더라도 해당 영역의 클러스터에 노드를 추가하지 못할 수 있습니다.
예를 들어 이미 노드가 20개 있는 클러스터에 SSD 노드 10개를 추가하려고 하지만 영역에 노드가 없는 경우 해당 리전의 SSD 노드에 대한 노드 할당량이 30이더라도 노드 10개를 추가할 수 없습니다.
이러한 경우 영역의 노드 리소스를 늘린 후 이러한 리소스를 사용할 수 있게 되면 타이밍과 완료를 보장하지 않고 요청을 부여합니다.
프로비저닝한 노드를 항상 사용할 수 있습니다.
Data Boost 할당량
다음 서버 처리 단위 (SPU) 할당량은 리전별 프로젝트별로 적용됩니다.
리전 | SPU |
---|---|
asia-east1 | 100,000 |
europe-west1 | 200,000 |
us-central1 | 200,000 |
us-east1 | 100,000 |
us-east4 | 100,000 |
us-west1 | 100,000 |
다른 모든 Bigtable 위치 | 30,000 |
Data Boost에 대한 자세한 내용은 Data Boost 개요를 참고하세요.
할당량 정보 보기
Google Cloud 프로젝트에서 각 영역에 이미 보유 중인 SSD 및 HDD 노드 수를 찾으려면 Google Cloud 콘솔을 사용하세요. 왼쪽 탐색창에서 IAM 및 관리자를 선택하고 할당량을 클릭한 후 서비스 드롭다운을 사용하여 Bigtable Admin API 서비스를 선택합니다.
이 페이지에는 서비스, 노드 유형, 위치 조합별 할당량을 보여주는 행이 표시되어 있습니다. 영역별 SSD 노드 또는 영역별 HDD 노드라는 부제목의 행을 찾습니다. 한도 열에는 특정 노드 유형 및 위치에 허용되는 최대 노드 수가, 현재 사용량 열에는 현재 존재하는 노드 수가 표시되어 있습니다. 이 두 수치의 차이가 상향 요청 없이 추가할 수 있는 노드 수입니다.
노드 할당량 상향 조정 요청
요청을 처리하는 데 충분한 시간을 확보하려면 항상 미리 계획하여 추가 리소스가 필요하기 며칠 전에 요청합니다. 노드 할당량 상향 조정 요청은 보장되지 않습니다. 자세한 내용은 할당량 작업을 참조하세요.
노드 할당량 상향 조정을 요청할 인스턴스가 포함된 프로젝트에 대한 편집자 수준 이상의 권한을 보유하고 있어야 합니다.
노드 할당량 상향 요청 자체는 요금이 부과되지 않으며 리소스를 더 사용한 경우에만 요금이 증가합니다.
- 할당량 페이지로 이동합니다.
- 할당량 페이지에서 변경할 할당량을 선택합니다.
- 페이지 상단의 할당량 수정 버튼을 클릭합니다.
- 오른쪽 창에 이름, 이메일, 전화번호를 입력하고 다음을 클릭합니다.
- 요청할 새 할당량 한도를 입력하고 다음을 클릭합니다.
- 요청을 제출합니다.
한도
이 섹션에서는 Bigtable 사용량에 적용되는 한도에 대해 설명합니다. 서비스에 설정된 한도는 변경이 불가능합니다.
인스턴스당 앱 프로필
각 인스턴스가 포함할 수 있는 최대 애플리케이션 프로필 수는 2,000개입니다.
승인된 뷰
- Bigtable 인스턴스당 승인된 뷰: 최대 10,000개
- 승인된 뷰당 column qualifier 접두사: 10개
백업
- 생성할 수 있는 최대 표준 백업 수: 클러스터별 테이블당 150개
- 생성할 수 있는 최대 핫 백업 수: 클러스터별 테이블당 10개
- 최소 백업 보관 기간: 최초 생성 시간 이후 6시간
- 최대 백업 보관 기간: 최초 생성 날짜 이후 90일
Data Boost
Data Boost 앱 프로필은 초당 1,000개를 초과하는 읽기 요청을 보낼 수 없습니다.
테이블 내 데이터 크기
권장되는 한도
데이터 크기를 다음의 권장된 한도 아래로 유지하도록 스키마를 설계합니다.
- 테이블당 column family: 100개
- 단일 column qualifier: 16KB
- 테이블 셀의 단일 값: 10MB
- 단일 행에 있는 모든 값: 100MB
엄격한 한도
또한 데이터가 이 엄격한 한도를 초과하지 않는지 확인해야 합니다.
- 단일 row key: 4KB
- 테이블 셀의 단일 값: 100MB
- 단일 행에 있는 모든 값: 256MB
이 크기 한도는 바이너리 킬로바이트(KB) 및 바이너리 메가바이트(MB) 단위로 측정됩니다. 참고로 1KB는 210바이트이고 1MB는 220바이트입니다. 이 측정 단위를 키비바이트(KiB)와 메비바이트(MiB)라고도 합니다.
작업 한도
일괄 작업 한 번으로 여러 개의 변형을 Bigtable에 전송할 때 다음 한도가 적용됩니다.
CheckAndMutate
를 호출하는 조건부 변형의 배치는 최대 100,000개의 참 변형 및 최대 100,000개의 거짓 변형까지 포함할 수 있습니다.모든 다른 유형의 변형 배치에서는 배치에 100,000개 이하의 변형을 포함할 수 있습니다.
인스턴스별 리전
Bigtable 인스턴스는 Bigtable을 사용할 수 있는 최대 8개의 리전에 클러스터를 포함할 수 있습니다. 리전의 각 영역에 하나의 클러스터를 만들 수 있습니다. 사용 가능한 영역 목록은 Bigtable 위치를 참조하세요.
행 필터
행 필터는 20KB를 초과할 수 없습니다. 오류 메시지가 나타나면 필터를 다시 설계하거나 줄여야 합니다.
노드당 스토리지
현재 워크로드 및 여기에 저장된 데이터 양을 기준으로 클러스터에 충분한 노드가 없으면 클러스터와 연결된 모든 태블릿을 관리하기에 충분한 CPU 리소스가 Bigtable에 포함되지 않습니다. 또한 Bigtable이 백그라운드에서 필수 유지보수 작업도 수행할 수 없습니다. 따라서 클러스터가 수신 요청을 처리할 수 없고 지연 시간이 증가합니다. 자세한 내용은 스토리지 사용량과 성능의 장단점을 참조하세요.
이러한 문제를 방지하려면 클러스터의 스토리지 사용량을 모니터링하여 다음 한도를 토대로 클러스터의 데이터 양을 지원할 수 있는 충분한 노드가 있는지 확인합니다.
- SSD 클러스터: 노드당 5TB
- HDD 클러스터: 노드당 16TB
이 값은 바이너리 테라바이트(TB) 단위로 측정되며 1TB는 240바이트입니다. 이 측정 단위를 테비바이트(TiB)라고도 합니다.
권장사항은 한도의 70%만 사용하도록 클러스터에 노드를 충분히 추가하는 것입니다. 이렇게 하면 스토리지 사용량이 급증해도 감당할 수 있습니다. 예를 들어 SSD 스토리지를 사용하는 클러스터에 50TB의 데이터를 저장하고 있다면 최대 75TB의 데이터를 처리하도록 노드를 15개 이상 프로비저닝해야 합니다. 클러스터에 많은 양의 데이터를 추가하지 않으려는 경우에는 이 권장사항을 초과하여 한도의 100%까지 저장할 수 있습니다.
인스턴스당 테이블
Bigtable은 인스턴스당 최대 1,000개의 테이블을 지원합니다.
ID 길이 제한
다음은 Bigtable에서 지원하는 최소 및 최대 ID 길이(문자 수)입니다.
- 앱 프로필: 1-50
- 백업: 1-50
- 클러스터: 6-30
- Column family: 1-64
- 인스턴스: 6-33
- 테이블: 1-50
- 승인된 뷰: 1-50
사용 정책
서비스 사용 시 서비스 약관 및 Google 개인정보처리방침을 준수해야 합니다.