이 문서에서는 Mosaic AI Vector Search를 사용할 때 비용을 효과적으로 관리하는 방법을 설명합니다. 다음 항목을 설명합니다.
- 벡터 검색 인덱스 및 엔드포인트 기본 사항
- 청구 및 사용량 모니터링.
- 동기화 모드.
- 비용을 최적화하는 모범 사례입니다.
빈 엔드포인트를 식별하고 삭제하려면 빈 벡터 검색 엔드포인트 식별 및 삭제를 참조하세요.
모자이크 AI 벡터 검색 기본 사항
모자이크 AI 벡터 검색은 다음으로 구성됩니다.
- 벡터 검색 인덱스: 인덱스는 검색 및 검색을 위해 벡터를 저장합니다.
- 벡터 검색 엔드포인트: 각 엔드포인트는 쿼리를 제공하기 위해 하나 이상의 인덱스를 호스팅합니다. 단일 엔드포인트에서 여러 인덱스를 제공할 수 있으며 하나의 엔드포인트는 최대 50개의 인덱스를 제공할 수 있습니다. 대부분의 경우 단일 엔드포인트에서 더 작은 워크로드를 결합하여 총 비용을 절감할 수 있습니다.
벡터 검색 가격 책정 방법
Databricks는 다음 두 가지 엔드포인트 옵션을 제공합니다.
표준 엔드포인트. 하나의 벡터 검색 단위는 차원 768(또는 해당)의 최대 2백만 벡터를 포함합니다. 예를 들어 차원 1536의 1백만 벡터가 있는 경우 하나의 단위로 계산됩니다.
스토리지 최적화 엔드포인트. 하나의 벡터 검색 단위는 차원 768(또는 해당)의 최대 6,400만 벡터를 포함합니다.
두 옵션의 경우 각 엔드포인트는 기본 가격을 가지며 서비스 중인 인덱스의 총 크기에 맞게 자동으로 확장됩니다.
- 표준 엔드포인트는 자동으로 축소되지 않습니다. 벡터를 삭제하거나 인덱스의 크기를 줄이더라도 수동으로 변경할 때까지 더 높은 용량에 대한 비용을 계속 지불합니다.
- 스토리지 최적화 엔드포인트는 인덱스가 삭제될 때 자동으로 축소됩니다. 엔드포인트의 최소 크기는 하나의 벡터 검색 단위입니다.
중요합니다
표준 엔드포인트는 자동으로 축소되지 않습니다. 벡터 수가 크게 감소하는 경우(예: 400만~150만 벡터) 엔드포인트를 삭제하고 새 벡터 검색 단위를 만들 때까지 더 높은 용량(이 예제에서는 두 개의 벡터 검색 단위)에 대한 비용을 계속 지불합니다. 이는 표준 엔드포인트에 대해서만 해당됩니다. 스토리지 최적화 엔드포인트는 자동으로 축소됩니다.
사용량 및 비용을 모니터링하는 방법
Databricks는 벡터 검색의 사용량 및 비용을 모니터링하는 데 도움이 되는 청구 가능한 사용량 테이블, 사용량 대시보드 및 예산 정책을 제공합니다.
청구 가능 사용 현황 테이블
청구 가능한 사용량 테이블의 예제 쿼리는 다음과 같습니다.
WITH all_vector_search_usage AS (
SELECT *,
CASE WHEN usage_metadata.endpoint_name IS NULL THEN 'ingest'
WHEN usage_type = "STORAGE_SPACE" THEN 'storage'
ELSE 'serving'
END as workload_type
FROM system.billing.usage
WHERE billing_origin_product = 'VECTOR_SEARCH'
),
daily_dbus AS (
SELECT
workspace_id,
cloud,
usage_date,
workload_type,
usage_metadata.endpoint_name as vector_search_endpoint,
CASE WHEN workload_type = 'serving' THEN SUM(usage_quantity)
WHEN workload_type = 'ingest' THEN SUM(usage_quantity)
ELSE null
END as dbus,
CASE WHEN workload_type = 'storage' THEN SUM(usage_quantity)
ELSE null
END as dsus
FROM all_vector_search_usage
GROUP BY 1,2,3,4,5
ORDER BY 1,2,3,4,5 DESC
)
SELECT * FROM daily_dbus;
청구 가능한 사용량 테이블에 대한 자세한 내용은 청구 가능한 사용량 시스템 테이블 참조를 참조하세요.
추가 쿼리는 다음 예제 Notebook에 있습니다.
벡터 검색 시스템 테이블 쿼리 노트북
사용량 대시보드
벡터 검색 사용량을 포함하여 비용 드라이버에 대한 인사이트를 얻기 위해 가져올 수 있는 사용량 대시보드에 대한 자세한 내용은 사용량 대시보드를 참조하세요.
예산 정책
예산 정책을 사용하면 관리자가 모든 Azure Databricks 서버리스 제품에서 청구 레코드를 그룹화 및 필터링하고 지출을 추적하기 위한 전용 UI를 제공할 수 있습니다. 벡터 검색 엔드포인트에 예산 정책을 적용하는 방법을 알아보려면 Mosaic AI 벡터 검색: 예산 정책을 참조하세요. 예산 정책을 만들고 관리하는 방법에 대한 일반적인 정보 및 자세한 내용은 서버리스 예산 정책의 특성 사용량을 참조하세요.
인덱스 동기화 비용을 관리하는 방법
인덱스가 다음 두 가지 방법으로 업데이트되도록 구성할 수 있습니다.
- 트리거된 동기화: API 또는 Python SDK를 호출하여 인덱스 업데이트를 트리거합니다. 가장 비용 효율적인 옵션입니다.
- 연속 동기화: 인덱스는 거의 실시간 대기 시간으로 원본 델타 테이블의 변경 내용으로 자동으로 업데이트됩니다. 스트리밍 클러스터가 동기화를 처리하도록 프로비전되기 때문에 비용이 더 많이 듭니다. 대기 시간이 몇 초인 거의 실시간 업데이트가 중요하지 않은 경우 트리거된 동기화를 사용하여 비용을 절감하는 것이 좋습니다.
비용 관리 모범 사례
- 단일 엔드포인트에서 워크로드 결합: 모든 인덱스에 대해 낮은 QPS를 예상하는 경우 단일 엔드포인트에서 인덱스를 결합하여 여러 기본 엔드포인트 비용을 방지할 수 있습니다. 자세한 내용은 Vector Search 성능 가이드 를 참조하세요.
- 사용량 모니터링: 시스템 청구 테이블 및 기본 제공 사용량 대시보드를 사용하여 용량, 사용량 및 비용을 추적합니다.
- 표준 엔드포인트의 경우 수동으로 축소: 위에서 설명한 대로 표준 엔드포인트의 경우 엔드포인트를 삭제하고 벡터 수가 더 이상 필요하지 않은 이전 용량 임계값보다 낮은 경우 다시 만들어야 합니다. 스토리지 최적화 엔드포인트는 인덱스가 삭제될 때 자동으로 축소됩니다.
- 올바른 동기화 모드 선택: 가능한 경우 연속 동기화 대신 트리거된 동기화를 사용하여 스트리밍 비용을 절감합니다.
- 빈 엔드포인트 식별 및 삭제: 빈 벡터 검색 엔드포인트 식별 및 삭제를 참조하세요.
추가 리소스
- Mosaic AI Vector Search 가격 책정
- 사용량 대시보드 및 지침
- 사용량을 예측하거나 워크로드와 관련된 비용 예측 도구를 활용하는 방법에 대한 추가 지침을 원하는 경우 Databricks 계정 팀에 문의하세요.