다음은 다양한 시나리오에서 Firestore Enterprise 버전의 가격 책정을 이해하는 데 도움이 되는 몇 가지 예입니다.
쿼리 가격 책정 예시
시나리오: 문서 100개가 포함된 컬렉션에서 값이 ilovefirebase인 필드 username를 기준으로 쿼리가 필터링됩니다. 각 문서의 크기는 2KiB입니다. 값이 ilovefirebase인 username이 하나만 있다고 가정해 보겠습니다. 동일한 쿼리가 100만 번 실행됩니다.
| 활동 | Standard 버전(자동 색인 생성된 쿼리) | Enterprise 버전(색인 생성된 쿼리) | Enterprise 버전(색인 생성되지 않은 컬렉션 스캔) |
| 색인 생성 상태 | 사용자 이름 조회를 위해 자동으로 생성된 색인을 사용합니다. | 사용자 이름 필드에서 수동 색인 생성 후입니다. | 색인을 사용하지 않고 전체 200KiB 사용자 컬렉션을 스캔합니다. |
| 쿼리당 읽기 단위 | 읽기 1개의 비용이 발생합니다. | 읽기 2개(색인 스캔 1개, 문서 읽기 1개)의 비용이 발생합니다. | 읽기 50개(2KiB의 문서 100개 = 총 스캔 200KiB. 200KiB / 단위당 4KiB = 50개)의 비용이 발생합니다. |
| 총비용(100만 개의 쿼리당) | 100만 개의 쿼리당 $0.30(읽기 1개 @ 읽기 100만 개당 $0.30) | 100만 개의 쿼리당 $0.10(읽기 2개 @ 읽기 100만 개당 $0.05) | 100만 개의 쿼리당 $2.50(읽기 50개 @ 100만 개 $0.05) |
비용 차이 요약
- 색인이 생성된 쿼리: Enterprise 버전에서 사용자 이름 필드에 수동으로 생성된 색인을 사용하여 동일한 쿼리를 실행하면 100만 개당 $0.10가 청구됩니다.
- 색인이 생성되지 않은 컬렉션 스캔 쿼리: Enterprise 버전의 색인이 생성되지 않은 컬렉션 스캔 쿼리 비용은 100만 개당 $2.50로, Standard 버전에서 자동 색인이 생성된 동등한 읽기에 청구되는 $0.30보다 훨씬 높습니다. 이는 색인 없이 쿼리하면 성능이 저하되고 비용이 많이 드는 실행이 발생할 수 있음을 보여줍니다.
- 비용 이점: 읽기 100만 개당 $0.10로, Standard 버전의 색인 읽기 비용보다 3배 저렴합니다. 이는 쿼리가 최적화된 경우 Enterprise 읽기 단위의 기본 가격이 낮음을 보여줍니다.
실시간 가격 책정 예시
가격 책정에 대한 자세한 내용은 실시간 가격 책정을 참조하세요.
시나리오 1: 100만 개의 클라이언트가 컬렉션에서 가장 최근 게시물 10개를 쿼리합니다(타임스탬프에 색인이 생성됨). 각 게시물의 크기는 6KiB입니다. 이러한 게시물 중 2개가 나중에 업데이트되어 클라이언트에 실시간 업데이트가 푸시됩니다.
| 활동 | Firestore Standard 버전 | Firestore Enterprise 버전 | 가격 책정 주요 사항 |
| 가격 책정 모델 | 초기 쿼리와 실시간 업데이트 모두 문서 읽기당 요금이 청구됩니다. | 초기 쿼리는 읽기 단위(4KiB 단위)를 사용하여 청구됩니다.
실시간 업데이트는 별도의 실시간 업데이트 SKU를 사용합니다. |
Enterprise는 읽기 단위 가격을 활용하여 초기 읽기 비용을 절감합니다. |
| 첫 번째 읽기(각각 6KiB 문서가 있는 게시물 10개의 초기 동기화) | 클라이언트당 읽기 10개가 발생합니다(문서 크기는 중요하지 않음). | 클라이언트당 읽기 21개가 발생합니다.
(게시물 10개의 색인 스캔에 대한 읽기 1개) (읽기 20개: 6KiB 문서당 읽기 2개 * 문서 10개) |
Enterprise는 더 많은 단위(10개 대비 21개)를 소비하지만 단위 가격은 훨씬 낮습니다. |
| 첫 번째 읽기 비용(100만 개당) | 읽기 10개 * 클라이언트 100만 개($0.30/100만): $3.00 | 읽기 21개 * 클라이언트 100만 개($0.05/100만): $1.05 | Enterprise 버전의 초기 읽기 비용이 4배 저렴합니다. |
| 실시간 업데이트(6KiB 문서에 대한 업데이트 2개) | 읽기 2개가 발생합니다(업데이트된 문서 2개). | 실시간 업데이트 4개가 발생합니다(6KiB 문서당 실시간 업데이트 2개 * 실시간 업데이트 2개). | Enterprise는 실시간 업데이트를 전용 SKU로 분리합니다. |
| 실시간 비용(클라이언트 100만 개당) | 읽기 2개 * 클라이언트 100만 개($0.30/100만): $0.60 | 실시간 4개 * 클라이언트 100만 개($0.30/100만): $1.20 | 이 특정 업데이트 시나리오의 경우 Enterprise 버전의 실시간 비용이 더 높습니다. |
| 총 비용 | $3.60($3.00 +$ $0.60) | $2.25($1.05 + $1.20) | 대용량 문서(6KiB)와 큰 볼륨이 포함된 이 시나리오에서는 Enterprise가 더 저렴합니다($2.25 대 $3.60). |
Enterprise 버전의 추가 실시간 리슨 쿼리 가격 책정 예시
예를 들어 아래 비용은 읽기 100만 개당 $0.05, 실시간 업데이트 100만 개당 $0.30의 us-central1 요율을 사용하여 계산됩니다.
| 시나리오(클라이언트, 문서 크기) | 1단계: 초기 쿼리(동기화) 세부정보 | 1단계: 초기 쿼리 사용량 | 예시 비용 | 2단계: 실시간 업데이트 세부정보 | 2단계: 실시간 업데이트 사용량 | 예시 비용 |
| 클라이언트 1개, 문서 2KiB | 쿼리가 각각 2KiB인 순차 문서 10,000개의 색인이 생성되지 않은 컬렉션 스캔을 실행합니다. | 읽기 5,000개 | $0.00025(100만 개당 $0.05를 기준으로 계산됨) | 클라이언트가 실시간 업데이트를 사용하여 총 1,000개의 문서를 수신하며 문서당 크기는 2KiB입니다. | 실시간 업데이트 1,000개 | $0.003(100만 개당 $0.30를 기준으로 계산됨) |
| 클라이언트 1,000개, 문서 2KiB | 1,000개의 클라이언트가 각각 2KiB인 순차 문서 10,000개의 색인이 생성되지 않은 컬렉션 스캔을 수행하는 쿼리를 각각 실행합니다. | 읽기 500만 개 | $0.25(100만 개당 $0.05를 기준으로 계산됨) | 1,000개의 클라이언트가 각각 실시간 업데이트를 사용하여 총 1,000개의 문서를 수신하며 문서당 크기는 2KiB입니다. | 실시간 업데이트 100만 개 | $0.30(100만 개당 $0.30를 기준으로 계산됨) |
| 클라이언트 1,000개, 문서 6KiB | 1,000개의 클라이언트가 각각 6KiB인 순차 문서 10,000개의 색인이 생성되지 않은 컬렉션 스캔을 수행하는 쿼리를 각각 실행합니다. | 읽기 1,500만 개 | $0.75(100만 개당 $0.05를 기준으로 계산됨) | 1,000개의 클라이언트가 각각 실시간 업데이트를 사용하여 총 1,000개의 문서를 수신하며 문서당 크기는 6KiB입니다. | 실시간 업데이트 200만 개 | $0.60(100만 개당 $0.30를 기준으로 계산됨) |