검색 최적화 비용 추정 및 관리

검색 최적화 서비스는 저장소 및 컴퓨팅 리소스 모두의 비용 영향을 줍니다.

  • 저장소 리소스: 검색 최적화 서비스는 검색 최적화가 활성화된 각 테이블에 대한 공간이 필요한 검색 액세스 경로 데이터 구조를 생성합니다. 검색 액세스 경로의 저장 비용은 여러 요인에 따라 달라지며, 그러한 요인은 다음과 같습니다.

    • 테이블의 고유 값 수. 모든 열에 검색 액세스 경로를 사용하는 데이터 타입을 있고 각 열의 모든 데이터 값이 고유한 매우 예외적인 경우, 원래 테이블의 크기에 해당하는 저장소 공간이 필요할 수 있습니다.

      그러나 일반적으로 크기는 원래 테이블 크기의 약 1/4입니다.

  • 컴퓨팅 리소스:

    • 테이블에 검색 최적화를 추가하면 최초 빌드 단계에서 리소스가 소비됩니다.

    • 검색 최적화 서비스를 유지관리하려면 리소스도 필요합니다. 변동성이 높은 경우(즉, 테이블의 데이터가 대량으로 변경되는 경우) 더 많은 리소스가 소비됩니다. 이러한 비용은 수집(추가 또는 변경)된 데이터의 양에 대략적으로 비례합니다. 삭제의 경우에도 약간의 비용이 소비됩니다.

      자동 클러스터링 은 검색 최적화로 테이블의 쿼리 대기 시간을 개선하는 동시에 검색 최적화의 유지 관리 비용을 더욱 늘릴 수 있습니다. 테이블의 이탈률이 높은 경우 테이블에 대해 자동 클러스터링을 활성화하고 검색 최적화를 구성하면 테이블이 단지 검색 최적화를 위해 구성된 경우보다 유지 관리 비용이 더 많아질 수 있습니다.

      Snowflake는 사용된 실제 리소스에 대해서만 계정에 요금을 청구하여 크레딧 사용이 효율적이 될 수 있도록 합니다. 청구는 1초 증분으로 계산됩니다.

      컴퓨팅 시간당 요금에 대해서는 Snowflake 서비스 사용 테이블 의 “서버리스 기능 크레딧 테이블”을 참조하십시오.

      검색 최적화 서비스를 활성화하면 서비스 이용에 따른 비용을 확인 할 수 있습니다.

Snowflake는 이 기능을 서서히 시작하고(즉, 처음에는 몇 개의 테이블에만 검색 최적화를 추가) 비용과 이점을 면밀히 살펴볼 것을 권장합니다.

검색 최적화 비용 추정하기

테이블에 검색 최적화를 추가하고 검색 최적화를 위해 특정 열을 구성하는 비용을 예상하려면 SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS 함수를 사용하십시오.

일반적으로 비용은 다음에 비례합니다.

  • 기능이 활성화된 열 수 및 해당 열의 고유 값 수.

  • 이 테이블에서 변경된 데이터의 수량.

중요

SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS 함수에서 반환하는 비용 추정치는 최선을 다해 예상한 수치입니다. 실제 실현 비용은 예상 비용과 최대 50%까지 다를 수 있습니다(또는 드물긴 하지만 몇 배나 차이가 날 수도 있음).

  • 빌드 및 저장소 비용 추정치는 테이블에 있는 행의 하위 세트 샘플링을 기반으로 합니다.

  • 유지 관리 비용 추정치는 테이블의 최근 생성, 삭제 및 업데이트 활동을 기반으로 합니다.

검색 최적화 비용 보기

웹 인터페이스 또는 SQL을 사용하여 검색 최적화 서비스에 대해 청구된 실제 요금을 확인할 수 있습니다. 컴퓨팅 비용 살펴보기 섹션을 참조하십시오.

검색 최적화 비용 절감하기

검색 최적화를 활성화할 테이블과 열을 신중하게 선택하여 검색 최적화 서비스 비용을 관리할 수 있습니다.

또한, 검색 최적화 서비스 비용을 줄이려면:

  • Snowflake는 테이블에서 DML 연산을 일괄 처리하는 것을 권장합니다.

    • DELETE: 테이블이 가장 최근 기간(예: 가장 최근 날짜, 주 또는 월)에 해당하는 데이터를 저장하는 경우 이전 데이터를 삭제하여 테이블을 자르면 검색 최적화 서비스를 업데이트해야 합니다. 일부 경우에는 삭제 빈도를 줄여(예: 1시간마다가 아닌 매일) 비용을 절약할 수 있습니다.

    • INSERT, UPDATEMERGE: 이러한 타입의 DML 문을 테이블에서 일괄 처리하면 검색 최적화 서비스의 유지관리 비용을 줄일 수 있습니다.

  • 전체 테이블을 재클러스터링하는 경우에는 재클러스터링을 하기 전에 해당 테이블에 대한 SEARCH OPTIMIZATION 속성을 삭제 한 다음, 재클러스터링 후 SEARCH OPTIMIZATION 속성을 테이블에 다시 추가 해 보십시오.

  • 하위 문자열 검색(ON SUBSTRING(col)) 또는 VARIANTs(ON EQUALITY(variant_col))에 대한 검색 최적화를 활성화하기 전에 SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS 를 호출하여 비용을 추정하십시오. 이러한 검색 방법의 최초 빌드와 유지 관리에 매우 많은 계산이 필요할 수 있으므로 성능과 비용 사이의 균형을 평가해야 합니다.