Firestore 가격 책정

이 문서에서는 Firestore 가격 책정 세부정보를 설명합니다.

USD 외의 통화로 지불하는 경우 Cloud Platform SKU에 해당 통화로 표기된 가격이 적용됩니다.

가격 책정 개요

Firestore를 사용할 경우 다음 항목에 대한 요금이 부과됩니다.

  • 읽기, 쓰기, 삭제한 문서의 수
  • 집계 쿼리와 일치하는 색인 항목의 수. 쿼리와 일치하는 색인 항목 최대 1,000개당 1회의 문서 읽기 요금이 부과됩니다.
  • 메타데이터 및 색인에 대한 오버헤드 등 데이터베이스에서 사용되는 스토리지 용량
  • 사용하는 네트워크 대역폭의 양

스토리지 및 대역폭 사용량은 기가바이트(GiB)로 계산되며, 1GiB = 230바이트입니다. 모든 요금은 일 단위로 누적됩니다.

다음 섹션에서는 Firestore 사용 요금 청구 방식을 자세히 설명합니다.

무료 할당량

Firestore는 (default) 데이터베이스를 무료로 시작할 수 있는 무료 할당량을 제공합니다. 무료 할당량은 아래에 나와 있습니다. 할당량이 더 필요하다면 Google Cloud 프로젝트에 결제를 사용 설정해야 합니다.

할당량은 일 단위로 적용되며 태평양 표준시 자정에 재설정됩니다.

(default) 데이터베이스만 무료 할당량을 받을 수 있습니다.

무료 등급 할당량
저장된 데이터 1GiB
문서 읽기 50,000/일
문서 쓰기 20,000/일
문서 삭제 20,000/일
아웃바운드 데이터 전송 10GiB/월

다음 작업 및 기능에는 무료 사용량이 포함되지 않습니다. 다음 기능을 사용하려면 결제를 사용 설정해야 합니다.

  • 이름이 지정된 (기본 아님) 데이터베이스 사용
  • TTL 삭제
  • PITR 데이터
  • 데이터 백업
  • 복원 작업

이러한 기능에 요금이 청구되는 방식에 대한 자세한 내용은 스토리지 가격 책정을 참조하세요.

위치별 가격 책정

다음 표에는 Firestore 위치별 읽기, 쓰기, 삭제, 스토리지에 대한 가격이 나와 있습니다.

USD 외의 통화로 지불하는 경우 Cloud Platform SKU에 해당 통화로 표기된 가격이 적용됩니다.

이름이 지정된 데이터베이스에 대한 무료 할당량 없음

기본이 아닌 이름이 지정된 데이터베이스를 만들려면 결제를 사용 설정해야 합니다.

이름이 지정된 데이터베이스를 만들거나 삭제하는 데 추가 비용이 들지 않지만 이러한 데이터베이스에는 무료 할당량이 적용되지 않습니다. 대신 이름이 지정된 데이터베이스에서 발생한 사용량에 대해 요금이 부과됩니다.

읽기, 쓰기, 삭제

Firestore에서 수행하는 각 문서 읽기, 쓰기, 삭제에 요금이 부과됩니다.

쓰기 및 삭제 요금 부과 방식은 간단합니다. 쓰기의 경우 각 set 또는 update 작업은 쓰기 1회로 계산됩니다.

읽기 요금에는 유의해야 할 미묘한 부분이 있습니다. 다음 섹션에서 이를 자세히 설명합니다.

집계 쿼리

count(), sum(), avg()와 같은 집계 쿼리의 경우 쿼리와 일치하는 색인 항목 최대 1,000개당 1회의 문서 읽기 요금이 부과됩니다. 색인 항목 0개와 일치하는 집계 쿼리의 경우 최소 1회의 문서 읽기 요금이 부과됩니다.

예를 들어 0~1,000개의 색인 항목과 일치하는 count() 작업은 문서 읽기 한 건에 대해 요금이 청구됩니다. 1,500개의 색인 항목과 일치하는 count() 작업의 경우 두 건의 문서 읽기 요금이 청구됩니다.

쿼리 결과 수신 대기

Firestore를 사용하면 쿼리 결과를 수신 대기하고 쿼리 결과가 변경되면 실시간으로 업데이트를 받을 수 있습니다.

쿼리 결과를 수신 대기하면 결과 집합의 문서가 추가되거나 업데이트될 때마다 읽기 요금이 부과됩니다. 또한 결과 집합에서 문서가 삭제될 때도 문서가 변경되므로 읽기 요금이 부과됩니다. 반면, 문서 자체가 삭제되면 읽기 요금이 부과되지 않습니다.

모바일 및 웹 SDK의 리스너 청구는 오프라인 지속성의 사용 설정 여부에 따라 달라집니다.

  • 오프라인 지속성을 사용 설정하고 리스너 연결이 30분 이상 끊어진 경우(예: 사용자가 오프라인 상태로 전환) 완전히 새로운 쿼리를 실행한 것처럼 읽기 요금이 부과됩니다.

  • 오프라인 지속성을 사용 중지하면 리스너의 연결을 해제했다가 다시 연결할 때마다 완전히 새로운 쿼리를 실행한 것처럼 읽기 요금이 부과됩니다.

대규모 결과 집합 관리

Firestore에는 많은 결과를 반환하는 쿼리를 관리할 때 유용한 몇 가지 기능이 있습니다.

  • 커서: 장기 실행 쿼리를 재개할 수 있습니다.
  • 페이지 토큰: 쿼리 결과를 페이지화하는 데 도움이 됩니다.
  • 한도: 검색할 결과의 수를 지정합니다.
  • 오프셋: 문서를 정해진 수만큼 건너뛸 수 있습니다.

커서, 페이지 토큰, 한도를 사용할 경우 부과되는 추가 요금은 없습니다. 이러한 기능을 사용하면 실제로 필요한 문서만 읽어 비용을 절약할 수 있습니다.

하지만 오프셋이 포함된 쿼리를 보내면 건너뛴 문서마다 읽기 요금이 부과됩니다. 예를 들어 10개의 오프셋을 사용하는 쿼리에서 문서 1개를 반환하면 읽기 11회에 대한 요금이 부과됩니다. 이 같은 추가 비용이 부과되므로 가능하다면 항상 오프셋 대신 커서를 사용해야 합니다.

문서 읽기 외의 쿼리

컬렉션 ID 목록 요청과 같은 문서 읽기 외의 쿼리는 문서 읽기 1회에 대한 요금이 부과됩니다. 전체 결과 집합을 가져오는 데 요청이 여러 개 필요한 경우(예: 페이지화를 사용하는 경우) 요청별로 요금이 청구됩니다.

쿼리에 부과되는 최소 요금

쿼리가 결과를 반환하지 않더라도 수행하는 쿼리마다 문서 읽기 1회에 해당하는 최소 요금이 부과됩니다.

Firestore 보안 규칙

모바일 및 웹 클라이언트 라이브러리의 경우 Firestore 보안 규칙에서 exists(), get() 또는 getAfter()를 사용하여 데이터베이스에서 하나 이상의 문서를 읽는다면 다음과 같은 추가 읽기 요금이 부과됩니다.

  • Firestore 보안 규칙을 평가하는 데 필요한 읽기에 대해 요금이 부과됩니다.

    예를 들어 규칙이 3개의 문서를 참조하지만 Firestore에서는 규칙 평가를 위해 두 문서만 읽으면 될 경우 종속 문서에 대한 2회의 추가 읽기 요금이 부과됩니다.

    규칙이 문서를 여러 번 참조하더라도 읽기 요금은 종속 문서당 1회만 청구됩니다.

  • 규칙 평가는 요청별로 한 번만 요금이 부과됩니다.

    따라서 여러 개의 문서를 읽는 데 필요한 요청의 수가 더 적으므로 문서를 한 번에 하나씩 읽는 것보다 여러 문서를 읽는 편이 비용이 적게 듭니다.

  • 쿼리 결과를 수신 대기하면 다음과 같은 경우에 규칙 평가에 대한 요금이 부과됩니다.

    • 쿼리를 보낼 때
    • 쿼리 결과가 업데이트될 때마다
    • 사용자 기기가 오프라인 상태로 전환되었다가 온라인 상태가 될 때마다
    • 규칙이 업데이트될 때마다
    • 규칙에서 종속 문서를 업데이트할 때마다

데이터베이스 스토리지 크기

스토리지 오버헤드를 포함해 Firestore에 저장되는 데이터양에 대한 요금이 부과됩니다. 오버헤드에는 메타데이터, 자동 색인, 복합 색인이 포함됩니다.

Firestore에 저장된 각 문서에는 다음과 같은 메타데이터가 필요합니다.

  • 컬렉션 ID 및 문서 이름을 포함한 문서 ID
  • 각 필드의 이름 및 값: Firestore에는 스키마가 없으므로 문서의 각 필드 이름을 필드 값과 함께 저장해야 합니다.
  • 문서를 참조하는 단일 필드 및 복합 색인: 각 색인 항목에는 컬렉션 ID, 색인 정의에 따른 여러 필드 값, 그리고 문서 이름이 포함됩니다.

스토리지 비용은 GiB/월 단위로 매일 계산됩니다. Firestore는 데이터베이스 크기를 매일 측정합니다. 한 달 동안 이러한 샘플 포인트의 평균을 계산하여 데이터베이스 스토리지 크기를 계산합니다. 이 평균 값에 스토리지의 단가(GiB-월)를 곱합니다.

스토리지 크기 계산에서 Firestore 스토리지 계산 방법을 알아보세요.

PITR 데이터

PITR을 사용 설정하면 PITR 데이터 스토리지에 대한 요금이 부과됩니다. 대부분의 고객은 PITR 데이터 스토리지의 전체 비용이 데이터베이스의 스토리지 비용과 비슷하다는 것을 알게 됩니다.

PITR의 스토리지 비용은 GiB/월 단위로 매일 계산됩니다. Firestore는 데이터베이스 크기를 매일 측정합니다. 한 달 동안 이러한 샘플 포인트의 평균을 계산하여 데이터베이스 스토리지 크기를 계산합니다. 이 평균 값에 PITR의 단가(GiB-월)를 곱합니다.

예를 들어 한 달 동안의 데이터베이스 평균 크기가 1GiB이고 PITR이 해당 월 내내 사용 설정된 상태라면 청구할 수 있는 PITR 데이터 크기도 1GiB입니다.

최소 결제: 사용 설정 후 1일 이내에 PITR을 사용 중지하더라도 최대 1일의 PITR 스토리지 비용이 청구될 수 있습니다.

백업 데이터 및 복원 작업

백업을 사용 설정하면 데이터베이스 백업 스토리지에 대한 요금이 부과됩니다. 백업의 스토리지 크기는 백업을 가져왔을 때 데이터베이스의 스토리지 크기와 동일합니다.

백업의 스토리지 비용은 GiB/월 단위입니다. 한 달 동안 각 백업이 보관되는 일수(한 달 평균)도 계산됩니다. 각 백업 비용은 백업이 보관된 일수가 한 달에서 차지하는 비율을 백업의 스토리지 크기와 곱하고 단가를 곱하여 계산됩니다.

복원 작업을 실행하면 Firestore에서 복원 작업의 백업 크기를 측정합니다. 백업 크기에는 복원 작업의 단가(GiB)를 곱합니다.

네트워크 대역폭

다음 섹션에 나와 있듯이 Firestore 요청에서 사용된 네트워크 대역폭에 대한 요금이 부과됩니다. Firestore 요청의 네트워크 대역폭 비용은 요청의 응답 크기, Firestore 데이터베이스의 위치, 응답의 대상에 따라 달라집니다.

Firestore는 직렬화된 메시지 형식을 기준으로 응답 크기를 계산합니다. SSL 오버헤드와 같은 프로토콜 오버헤드는 네트워크 대역폭 사용량에 포함되지 않습니다. Firestore 보안 규칙에서 거부된 요청도 네트워크 대역폭 사용량에 포함되지 않습니다.

사용된 네트워크 대역폭의 양을 확인하려면 Google Cloud 콘솔을 사용해 결제 데이터를 파일로 내보내면 됩니다.

일반 네트워크 가격 책정

Google Cloud Platform에서 발생한 요청(예: Google Compute Engine에서 실행되는 애플리케이션의 요청)은 다음과 같이 요금이 부과됩니다.

트래픽 유형 가격
인바운드 데이터 전송 무료
리전 내 데이터 전송 무료
동일한 멀티 리전에 속한 리전 간 데이터 전송 무료
미국 내 리전 간 데이터 전송(GiB당) $0.01(매월 첫 10GiB는 무료)
미국 리전 간 트래픽을 제외한 리전 간 데이터 전송 Google Cloud Platform 아웃바운드 인터넷 데이터 전송 요금

USD 외의 통화로 지불하는 경우 Cloud Platform SKU에 해당 통화로 표기된 가격이 적용됩니다.

인터넷 데이터 전송 속도

다음에 대한 인터넷 데이터 전송 요금이 부과됩니다.

  • 미국 리전 간 트래픽을 제외한 리전 간 Google Cloud 요청
  • Google Cloud 외부의 요청(예: 사용자의 휴대기기)

USD 외의 통화로 지불하면 Cloud Platform SKU에 해당 통화로 표기된 가격이 적용됩니다.

사용량 모니터링

Firestore 사용량을 모니터링하는 방법은 사용량 모니터링을 참조하세요.

지출 관리

지출을 관리하려면 월예산 및 알림을 설정합니다.

Google Cloud 예산 및 알림

Google Cloud에서는 모든 Google Cloud 서비스의 월예산을 설정할 수 있습니다. 월예산을 사용해 Firestore의 네트워크 대역폭 비용을 포함한 전체적인 Google Cloud 비용을 모니터링하세요. 예산을 설정한 후에 알림을 설정할 수 있으며 비용이 늘어 예산에 가까워지면 이메일 알림이 전송됩니다.

이 안내를 따라 Google Cloud 콘솔에서 월 예산을 설정하고 알림을 만드세요.

가격 책정 예시

실제 샘플 앱에서 발생하는 Firestore 청구 비용은 Firestore 청구 예시를 참조하세요.

다음 단계

커스텀 견적 요청

Google Cloud의 사용한 만큼만 지불 가격 책정을 사용하면 사용한 서비스에 대한 요금만 지불하면 됩니다. 영업팀에 문의하여 조직에 대한 커스텀 견적을 받아 보세요.
영업팀에 문의