확장
클러스터 확장은 클러스터 워크로드 또는 데이터 스토리지 요구사항의 변화에 따라 클러스터로부터 노드를 추가하거나 삭제하는 프로세스입니다.
다음 방법으로 Bigtable 클러스터를 확장할 수 있습니다.
- 자동 확장
- 수동 노드 할당
대부분의 경우 자동 확장을 선택합니다. 클러스터에 자동 확장을 사용 설정하면 Bigtable이 클러스터를 지속적으로 모니터링하고 설정에 따라 노드 수를 자동으로 조정합니다.
클러스터의 CPU 사용량과 같은 측정항목을 기반으로 Bigtable 클러스터의 크기를 조정할 수 있습니다. 예를 들어 클러스터에 과부하가 걸려 있고 해당 CPU 사용률이 높은 경우 CPU 사용량이 떨어질 때까지 클러스터에 노드를 추가할 수 있습니다. 사용량이 많지 않을 때 클러스터에서 노드를 제거함으로써 비용을 절약할 수도 있습니다.
제한사항
다음과 같은 제한 사항에 유의하세요.
노드 가용성
노드 할당량은 클러스터에 수동 노드 할당이나 자동 확장이 사용 설정되어 있는지 여부를 적용됩니다. 자세한 내용은 할당량 및 노드 가용성을 참조하세요.
노드가 재조정되는 동안 지연
클러스터에 노드를 추가한 후, 클러스터 성능이 눈에 띄게 향상될 때까지 부하 상태에서 최대 20분 기다려야 할 수 있습니다. 따라서 짧은 순간에 활동이 급상승하는 워크로드의 경우에는 CPU 로드를 기준으로 클러스터에 노드를 추가해도 성능이 향상되지 않습니다. Bigtable이 데이터를 재조정했을 때쯤이면 짧게 급상승했던 활동이 이미 끝난 후일 것이기 때문입니다.
이러한 지연을 계획하려면 클러스터 부하가 증가하기 전에 프로그래매틱 방식으로 또는 Google Cloud 콘솔을 통해 클러스터에 노드를 추가하면 됩니다. 이 접근 방식을 사용하면 Bigtable이 워크로드가 증가하기 전에 추가 노드에서 데이터를 재조정할 수 있습니다. 수동 노드 할당을 사용하는 클러스터에서 노드 수를 변경합니다. 자동 확장을 사용하는 클러스터에서 최소 노드 수를 변경합니다. 트래픽이 정상으로 돌아간 후 노드 설정을 다시 변경합니다.
너무 빠르게 축소하여 지연 시간 증가
축소하기 위해 클러스터의 노드 수를 줄일 때는 10분 동안 클러스터 크기를 10% 넘게 줄이지 마세요. 클러스터의 잔여 노드가 일시적으로 과부화되는 경우 너무 빠르게 축소하면 지연 시간 증가와 같은 성능 문제가 발생할 수 있습니다.
스키마 디자인 문제
테이블의 스키마 디자인에 문제가 있는 경우, Bigtable 클러스터에 노드를 추가해도 성능이 향상되지 않을 수 있습니다. 예를 들어 테이블의 한 행에 여러 개의 읽기 및 쓰기가 있는 경우, 모든 읽기 또는 쓰기는 클러스터에서 동일한 노드로 이동합니다. 따라서 노드를 추가해도 성능이 향상되지 않습니다. 반면에 읽기와 쓰기가 테이블에 있는 행에 고르게 분산된 경우에는 노드를 추가하면 일반적으로 성능이 향상됩니다.
Bigtable 크기를 효율적으로 조정할 수 있는 스키마를 디자인하는 방법에 대해서는 스키마 디자인하기를 참고하세요.
다음 단계
- Bigtable 자동 확장에 대해 알아봅니다.
- 프로그래매틱 방식과 Google Cloud 콘솔을 통해 인스턴스를 모니터링하는 방법을 알아봅니다.