크기 및 배포 권장사항

이 문서에서는 온라인 트랜잭션 처리 (OLTP) 및 온라인 분석 처리 (OLAP) 워크로드 모두에 대해 PostgreSQL용 AlloyDB 인스턴스의 크기를 조정하기 위한 워크로드 및 배포 권장사항을 제공합니다.

개요

데이터베이스 성능을 개선하기 위해 PostgreSQL용 AlloyDB는 다음과 같은 기본 제공 기능을 제공합니다.

  • 자동 메모리 관리
  • 적응형 자동 진공 청소
  • 최적화된 내장 성능 설정
  • 복제 지연이 낮음
  • 확장 작업 중에 기본 노드의 경우 1초 미만의 다운타임, 읽기 풀 노드의 경우 다운타임이 없는 무중단 유지보수

성능을 위해 PostgreSQL용 AlloyDB 인스턴스를 조정하려면 다음을 관리해야 합니다.

  • 기본 인스턴스 및 읽기 풀 인스턴스의 크기를 올바르게 조정
  • 성능에 영향을 미치는 플래그 업데이트

크기 조정 고려사항

PostgreSQL용 AlloyDB 인스턴스의 크기를 조정하기 전에 다음을 확인하세요.

  • 워크로드 유형: OLTP, OLAP 또는 HTAP
  • 성능 요구사항: 지연 시간 및 처리량 요구사항
  • 예상 데이터 크기: PostgreSQL용 AlloyDB에 저장할 데이터의 크기 및 활성 데이터 세트 크기
  • 워크로드 규모: 시간이 지남에 따라 데이터 크기가 증가하거나 성장하는 경우

OLTP 작업

PostgreSQL용 AlloyDB 데이터베이스를 영역 인스턴스 (단일 노드) 또는 고가용성 인스턴스 (각 영역에 두 개의 노드)로 배포할 수 있습니다. 선택적으로 지리적으로 분산된 워크로드 또는 재해 복구 (DR)를 위해 다른 리전에 읽기 풀 인스턴스와 보조 클러스터를 추가할 수도 있습니다.

PostgreSQL용 AlloyDB는 분리된 컴퓨팅 및 스토리지가 있는 클라우드 규모의 분산 아키텍처를 사용하여 배포됩니다. 쓰기 작업은 쓰기 앞서 로그 (WAL) 파일이 리전 스토리지에 유지되는 즉시 승인되며, 블록 구체화는 스토리지로 오프로드됩니다.

마찬가지로 다중 계층 캐시 아키텍처를 사용하면 데이터가 버퍼 캐시, 초고속 캐시, 지능형 스토리지 엔진 사이에 자동으로 배치됩니다. PostgreSQL용 AlloyDB에서 사용되는 이 다중 계층 캐시 아키텍처로 인해 초당 입력 및 출력 작업 (IOP)은 다른 데이터베이스 시스템과 비교하는 PostgreSQL용 AlloyDB의 컨텍스트와 관련이 없습니다.

하지만 초당 트랜잭션 수(TPS)/분당 트랜잭션 수 (TPM)를 사용하면 PostgreSQL용 AlloyDB에서 처리할 수 있는 데이터 양을 이해하는 데 의미 있는 비교를 할 수 있습니다.

기본 크기 조정 측정항목은 TPS입니다. 필요한 PostgreSQL용 AlloyDB 크기를 추정하려면 다음 단계를 따르세요.

  1. 기존 워크로드 식별 자체 관리 PostgreSQL 또는 기타 상업용 데이터베이스에서 마이그레이션하는 경우 기존 워크로드의 TPS 값이 이미 있을 수 있습니다.
  2. 쿼리를 분석합니다. 워크로드에서 가장 중요한 쿼리를 식별하고 성능 요구사항을 확인합니다.
  3. HammerDB 또는 pgbench와 같은 도구를 사용합니다. 이러한 도구는 PostgreSQL용 AlloyDB의 벤치마킹을 지원하고 머신 크기가 TPS 요구사항을 충족하는지 확인하는 데 도움이 됩니다.
  4. PostgreSQL용 AlloyDB OLTP 벤치마킹 가이드를 사용합니다. 이 가이드에서는 TPS 요구사항을 충족하는 구성을 찾을 수 있도록 다양한 PostgreSQL용 AlloyDB 구성의 성능 데이터를 제공합니다.
  5. 적절한 PostgreSQL용 AlloyDB 크기를 선택합니다. 현재 데이터 크기와 향후 성장 기대치를 고려하세요.

머신 크기 가이드라인

다음 예시 표에는 읽기-쓰기 비율이 읽기 약 65%, 쓰기 35% 인 TPC-C 벤치마킹 데이터에 대한 권장사항이 나와 있습니다. AlloyDB for PostgreSQL 인스턴스의 크기를 조정할 때는 운영체제 예약 오버헤드를 방지하기 위해 안정적인 상태의 CPU 사용률이 약 60~70% 가 되도록 해야 합니다. 이를 통해 클라이언트 애플리케이션의 리소스 사용량 급증에 대비할 수 있습니다.

vCPU/Mem 권장 트랜잭션/초
범위 (30% 캐시됨)
권장 작업
데이터 크기 (최대 총 크기 128TB)
권장 max_connections
2 / 16GB 최대 1,000개 최대 100GB 1000
4 / 32GB 최대 2,500 최대 250GB 2000
8/ 64GB 최대 4,000 최대 500GB 4000
16 / 128GB 최대 8,000 최대 1TB 5000
32 / 256GB 최대 14,000 최대 3TB 5000
64 / 512GB 최대 20,000 최대 8TB 5000
96 / 768GB 최대 25,000 최대 16TB 5000
128 / 864GB 20,000개 초과 최대 32TB 5000

배포 유형

워크로드에 따라 PostgreSQL용 AlloyDB를 기본 인스턴스로만 또는 읽기 풀 인스턴스가 있는 기본 인스턴스로 배포할 수 있습니다.

기본만

다음 워크로드에 대해서는 기본 전용 배포를 선택합니다.

  • 쓰기 중심, 읽기는 낮음~중간
  • 쓰기가 적은 읽기 중심 쿼리
  • 일반적인 OLTP 읽기-쓰기(읽기 60~70%, 쓰기 30~40%)

머신 유형에 대한 자세한 내용은 일반 머신 크기 가이드라인을 참고하세요.

읽기 풀 인스턴스가 있는 기본

읽기 풀 인스턴스가 있는 기본을 배포하려면 다음을 고려하세요.

  • 지연 시간에 민감한 읽기가 있는 경우 읽기 쿼리를 읽기 풀 인스턴스로 오프로드하는 것이 좋습니다. 모든 읽기 풀 인스턴스에서 최대 20개의 노드를 구성할 수 있습니다. 자세한 내용은 읽기 풀 인스턴스 만들기를 참고하세요.
  • 데이터베이스가 두 개 이상인 경우(예: 동일한 인스턴스에 CRM 또는 재무가 있는 경우) 여러 읽기 풀 인스턴스를 구성합니다. 이 전략을 사용하면 효과적인 캐싱과 쿼리 성능에 도움이 됩니다.
  • 요구사항에 따라 기본 인스턴스와 읽기 풀 인스턴스의 크기를 다르게 지정할 수 있습니다. 읽기 풀 인스턴스 권장사항에 대한 자세한 내용은 AlloyDB 성능 및 가용성 개선을 위한 권장사항을 참고하세요.
  • 고가용성을 위해 읽기 풀 인스턴스당 노드를 두 개 이상 추가합니다.
  • 읽기 쿼리 성능을 위해 특정 읽기 풀 인스턴스에서 열 형식 엔진을 선택적으로 사용 설정합니다. 기본 인스턴스에서 열 형식 엔진을 사용 설정하지 않아도 됩니다.

색인 자문과 같은 내장 기능을 사용하여 쿼리 성능을 개선할 수 있는 색인을 추가하는 것이 좋습니다.

OLAP 워크로드

OLAP 워크로드의 경우 기본 크기 조정 측정항목은 쿼리 성능, 특히 전체 테이블 스캔이나 집계를 요구하는 쿼리입니다. PostgreSQL용 AlloyDB에는 분석 쿼리를 가속화하는 데 도움이 되는 열 기반 엔진이 내장되어 있습니다. 기본적으로 열 형식 엔진을 사용하면 메모리의 30% 가 사용되고 초고속 캐시 데이터가 자동으로 사용됩니다.

TPC-H 워크로드를 사용하여 PostgreSQL용 AlloyDB로 OLAP 성능을 측정하는 방법에 대한 자세한 내용은 PostgreSQL용 AlloyDB PostgreSQL OLAP 벤치마킹 가이드를 참고하세요.

배포 유형

워크로드에 따라 PostgreSQL용 AlloyDB를 기본 인스턴스로만 또는 읽기 풀 인스턴스가 있는 기본 인스턴스로 배포할 수 있습니다.

기본만

기본 인스턴스만 배포하는 경우 다음 사항을 고려하세요.

  • 분석 쿼리 (HTAP)가 포함된 트랜잭션에 이 배포를 사용합니다.
  • OLAP 쿼리에 도움이 되도록 열 기반 엔진을 사용 설정합니다.
  • 열 형식 데이터를 저장할 메모리가 더 많은 16개 이상의 vCPU 머신으로 배포하는 것이 좋습니다.

읽기 풀이 있는 기본

읽기 풀 인스턴스가 있는 기본 인스턴스를 배포하는 경우 다음 사항을 고려하세요.

  • 쓰기가 많고 지연 시간 요구사항이 낮은 지연 시간에 민감한 분석 읽기가 있는 경우 HA가 사용 설정되고 읽기 풀 인스턴스가 있는 기본 인스턴스를 배포합니다.
  • 분석 쿼리를 실행하는 읽기 풀 인스턴스에서 열 형식 엔진을 사용 설정합니다.
  • 데이터베이스가 두 개 이상인 경우(예: 동일한 인스턴스에 CRM 또는 재무가 있는 경우) 여러 읽기 풀 인스턴스를 구성합니다. 이 전략을 사용하면 효과적인 캐싱과 쿼리 성능에 도움이 됩니다.
  • 요구사항에 따라 기본 인스턴스와 읽기 풀 인스턴스의 크기를 다르게 지정할 수 있습니다. 읽기 풀 인스턴스 권장사항에 대한 자세한 내용은 AlloyDB 성능 및 가용성 개선을 위한 권장사항을 참고하세요.
  • 고가용성을 위해 읽기 풀 인스턴스당 노드를 두 개 이상 추가합니다.
  • 읽기 쿼리 성능을 위해 특정 읽기 풀 인스턴스에서 열 형식 엔진을 선택적으로 사용 설정합니다. 기본 인스턴스에서 열 형식 엔진을 사용 설정하지 않아도 됩니다.

다음 단계