이 페이지에서는 PostgreSQL용 AlloyDB 인스턴스에서 열 기반 엔진을 사용 설정하거나 사용 중지하는 방법을 설명합니다. 또한 최적의 성능을 위해 열 스토어의 적절한 초기 크기, 메모리 및 스토리지 캐시 설정을 구성하는 방법도 설명합니다.
AlloyDB Omni를 사용할 때 열 기반 엔진을 사용하려면 AlloyDB Omni에서 열 기반 엔진 사용 설정을 참고하세요.
이러한 각 작업에는 AlloyDB 인스턴스 중 하나의 데이터베이스 플래그 값을 변경하는 작업이 포함됩니다. 데이터베이스 플래그 설정에 대한 자세한 내용은 인스턴스의 데이터베이스 플래그 구성을 참고하세요.
AlloyDB 열 기반 엔진의 개념 개요는 AlloyDB 열 기반 엔진 정보를 참조하세요.
열 기반 엔진 사용 설정
인스턴스에서 열 기반 엔진을 사용하려면 인스턴스의 google_columnar_engine.enabled
플래그를 on
으로 설정합니다.
AlloyDB에서 데이터베이스 플래그를 설정하는 방법에 대한 자세한 내용은 인스턴스의 데이터베이스 플래그 구성을 참고하세요.
열 스토어 크기 구성
인스턴스에서 열 기반 엔진이 사용 설정되어 있는 동안 AlloyDB는 열 형식 데이터를 저장하기 위해 인스턴스 메모리 일부를 할당합니다. 고속 RAM을 열 스토어 전용으로 지정하면 AlloyDB가 열 형식 데이터에 최대한 빠르게 액세스할 수 있습니다.
메모리와 스토리지 캐시를 합한 값이 열 기반 엔진 총 용량을 나타냅니다.
열 기반 엔진의 메모리 구성
열 스토어가 인스턴스의 할당된 메모리 부분보다 커지면 AlloyDB는 인스턴스의 기본 캐시 레이어를 자동으로 사용하여 추가 열 데이터를 저장합니다.AlloyDB에서는 관계, 구체화된 뷰, ScaNN 색인을 모두 열 기반 엔진에 로드하여 쿼리 성능을 가속화할 수 있습니다.
기본적으로 AlloyDB는 인스턴스의 메모리 중 30% 를 열 스토어에 할당하며, 인스턴스의 크기를 조절하면 총 할당량이 자동으로 조정됩니다. 인스턴스의 메모리를 최대 50%까지 수정할 수 있습니다. 인스턴스에 권장되는 열 기반 엔진 메모리 크기를 확인하려면 열 저장소 메모리 크기 추천을 참고하세요.
google_columnar_engine.memory_size_in_mb
플래그를 사용하여 할당을 고정된 특정 크기로 설정할 수도 있습니다.
AlloyDB가 기본 할당으로 돌아가도록 하려면 인스턴스에서 플래그를 삭제하세요.
플래그 설정 또는 삭제에 대한 자세한 내용은 인스턴스의 데이터베이스 플래그 구성을 참고하세요.
열 기반 엔진으로 ScaNN 색인 로드 구성
열 형식 엔진은 ScaNN 색인이 채워지면 벡터 검색을 가속화합니다.
열 기반 색인 캐시를 사용 설정하려면 google_columnar_engine.enable_index_caching
플래그를 on
로 설정합니다.
이 기능을 사용 중지하려면 플래그를 off
로 설정합니다.
열 기반 엔진의 스토리지 캐시 구성
열 기반 엔진의 스토리지 캐시는 인스턴스 등급에 따라 프로비저닝됩니다.
인스턴스 등급 | 기본 열 형식 엔진 캐시 크기 | ||
---|---|---|---|
N2 | C4A | ||
기본 | 복제본 풀 | 기본 또는 복제본 풀 | |
vCPU 1개 | 해당 사항 없음 | 해당 사항 없음 | 0 |
2 vCPU | 18.75GB | 37.5GB | 해당 사항 없음 |
vCPU 4개 | 18.75GB | 37.5GB | 18.75GB |
8 vCPU | 18.75GB | 37.5GB | 37.75GB |
vCPU 16개 | 37.5GB | 37.5GB | 75GB |
vCPU 32개 | 75GB | 75GB | 112.5GB |
vCPU 48개 | 해당 사항 없음 | 해당 사항 없음 | 187.5GB |
vCPU 64개 | 150GB | 150GB | 262.5GB |
vCPU 72개 | 해당 사항 없음 | 해당 사항 없음 | 300GB |
vCPU 96개 | 300GB | 300GB | 해당 사항 없음 |
vCPU 128개 | 450GB | 450GB | 해당 사항 없음 |
google_columnar_engine.storage_cache_size
플래그를 사용하면 다음 표에 나열된 최솟값 및 최댓값의 제한과 함께 열 형식 엔진 스토리지 캐시를 조정할 수 있습니다.
인스턴스 등급 | 최소 열 기반 엔진 캐시 크기 | 최대 열 기반 엔진 캐시 크기 | ||
---|---|---|---|---|
N2 | C4A | |||
기본 | 복제본 풀 | 기본 또는 복제본 풀 | ||
vCPU 1개 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 0 |
2 vCPU | 0 | 187.5GB | 375GB | 해당 사항 없음 |
vCPU 4개 | 0 | 187.5GB | 375GB | 187.5GB |
8 vCPU | 0 | 187.5GB | 375GB | 375GB |
vCPU 16개 | 0 | 375GB | 375GB | 750GB |
vCPU 32개 | 0 | 750GB | 750GB | 1,125GB |
vCPU 48개 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 1,125GB |
vCPU 64개 | 0 | 1,500GB | 1,500GB | 2,625GB |
vCPU 72개 | 해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 | 3,000GB |
vCPU 96개 | 0 | 3,000GB | 3,000GB | 해당 사항 없음 |
vCPU 128개 | 0 | 4,500GB | 4,500GB | 해당 사항 없음 |
열 기반 엔진의 스토리지 캐시 데이터 모니터링
열 기반 엔진의 스토리지 캐시에 대한 데이터를 보고 모니터링하려면 다음 명령어를 사용하면 됩니다.
명령어 | 설명 |
---|---|
SELECT google_columnar_engine_storage_cache_used(); |
사용된 열 기반 엔진 스토리지 캐시의 크기를 반환합니다. |
SELECT google_columnar_engine_storage_cache_available(); |
사용되지 않는 열 기반 엔진 스토리지 캐시의 크기를 반환합니다. |
SHOW google_columnar_engine.storage_cache_size; |
열 기반 엔진의 구성된 스토리지 캐시의 총 크기를 반환합니다. |
벡터화된 조인 사용 설정
열 기반 엔진에는 적격한 쿼리에 벡터화된 처리를 적용하여 조인 성능을 향상시킬 수 있는 벡터화된 조인 기능이 있습니다.
벡터화된 조인을 사용 설정하면 AlloyDB 쿼리 플래너가 표준 PostgreSQL 해시 조인 연산자 대신 벡터화된 조인 연산자를 적용할 수 있습니다. 플래너는 두 가지 방법을 사용하여 쿼리를 실행했을 때의 비용을 비교하여 이 결정을 내립니다.
인스턴스에서 벡터화된 조인을 사용 설정하려면 인스턴스의 google_columnar_engine.enable_vectorized_join
플래그를 on
으로 설정합니다.
AlloyDB는 기본적으로 벡터화된 조인 기능에 스레드 하나를 할당합니다. google_columnar_engine.vectorized_join_threads
플래그를 더 큰 값으로 설정하면 이 기능에 사용할 수 있는 스레드 수를 늘릴 수 있습니다.
수동으로 열 기반 엔진 새로고침
기본적으로 열 기반 엔진을 사용 설정하면 백그라운드에서 열 스토어를 자동으로 새로고침하도록 설정됩니다.
INSERT
, UPDATE
또는 DELETE
작업이 빈번한 것과 같이 데이터 수정 비율이 높은 워크로드의 경우 이러한 변경사항이 적용된 후 열 형식 저장소를 수동으로 새로고침하여 색인을 최신 상태로 유지할 수 있습니다.
열 엔진을 수동으로 새로고침하려면 다음 SQL 쿼리를 실행합니다.
SELECT google_columnar_engine_refresh('TABLE_NAME');
TABLE_NAME
을 수동으로 새로고침하려는 테이블이나 구체화된 뷰의 이름으로 바꿉니다.
열 기반 엔진 사용 중지
인스턴스에서 열 기반 엔진을 사용 중지하려면 google_columnar_engine.enabled
플래그를 off
로 설정합니다.
이 플래그를 설정하면 인스턴스가 자동으로 다시 시작됩니다.
열 기반 엔진 문제 해결
열 기반 엔진에서 열이 채워지지 않으면 다음 중 하나가 원인일 수 있습니다.
추가하려는 열에 지원되지 않는 데이터 유형이 포함되어 있습니다.
열 기반 엔진 요구사항이 충족되지 않습니다.
이 문제의 원인을 찾으려면 다음을 시도해 보세요.
다음 단계
열 기반 엔진 데이터베이스 플래그 전체 목록을 참조하세요.
자동 열 지정에 대해 알아봅니다.
AlloyDB 열 기반 엔진을 사용하여 분석 쿼리를 가속화하는 방법을 알아봅니다.