할당량 및 한도

이 페이지에서는 Firestore의 요청 할당량과 한도에 대해 다룹니다.

무료 할당량

Firestore는 무료 할당량을 제공하므로 비용을 들이지 않고도 시작할 수 있습니다. 무료 할당량은 아래에 나와 있습니다. 할당량이 더 필요하다면 Google Cloud 프로젝트에 결제를 사용 설정해야 합니다.

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

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

무료 등급 할당량
저장된 데이터 1GiB
문서 읽기 50,000/일
문서 쓰기 20,000/일
문서 삭제 20,000/일
네트워크 이그레스 10GiB/월

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

  • TTL 삭제
  • PITR 데이터
  • 데이터 백업
  • 복원 작업

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

표준 한도

다음 표에서는 Firestore에 적용되는 한도를 보여줍니다. 달리 명시하지 않는 한 엄격한 한도입니다.

데이터베이스

한도 세부정보
프로젝트당 최대 데이터베이스 수

100

지원팀에 문의하여 이 한도 상향을 요청할 수 있습니다.

컬렉션, 문서, 필드

한도 세부정보
컬렉션 ID 제약조건
  • 유효한 UTF-8 문자여야 합니다.
  • 1,500바이트 이하여야 합니다.
  • 슬래시(/)를 포함할 수 없습니다.
  • 마침표 하나(.) 또는 2개(..)로만 구성할 수 없습니다.
  • 정규 표현식(__.*__)과 일치할 수 없습니다.
하위 컬렉션 최대 심도 100
문서 ID 제약조건
  • 유효한 UTF-8 문자여야 합니다.
  • 1,500바이트 이하여야 합니다.
  • 슬래시(/)를 포함할 수 없습니다.
  • 마침표 하나(.) 또는 2개(..)로만 구성할 수 없습니다.
  • 정규 표현식(__.*__)과 일치할 수 없습니다.
  • Datastore 항목을 Firestore 데이터베이스로 가져오면 숫자 항목 ID가 __id[0-9]+__로 노출됩니다.
문서 이름 최대 크기 6KiB
문서 최대 크기 1MiB(1,048,576바이트)
필드 이름 제약조건 유효한 UTF-8 문자여야 합니다.
필드 이름 최대 크기 1,500바이트
필드 경로 제약조건
  • 마침표 하나(.)로 필드 이름을 구분해야 합니다.
  • 점으로 구분된(.) 세그먼트 문자열로 전달될 수 있습니다. 여기서 각 세그먼트는 간단한 필드 이름이나 따옴표로 묶인 필드 이름(아래에 정의됨)입니다.
단순한 필드 이름은 다음 조건을 모두 충족하는 이름입니다.
  • 문자(a-z, A-Z, 0-9)와 밑줄(_)만 포함
  • 0-9로 시작하지 않음
따옴표로 묶인 필드 이름은 백틱 문자(`)로 시작하고 끝납니다. 예를 들어 foo.`x&y`foo 필드 아래에 중첩된 x&y 필드를 참조합니다. 백틱 문자로 필드 이름을 구성하려면 백틱 문자를 백슬래시 문자(\)로 이스케이프 처리합니다. 편의상 필드 경로를 FieldPath 객체로 전달하여 따옴표로 묶인 필드 이름을 피할 수 있습니다(예시는 자바스크립트 FieldPath 참조).
필드 경로 최대 크기 1,500바이트
필드 값 최대 크기 1MiB - 89바이트(1,048,487바이트)
지도 또는 배열의 필드 최대 심도 20

쓰기 및 트랜잭션

이러한 한도 외에도 확장을 위한 설계 권장사항을 참조하세요.

한도 세부정보
최대 API 요청 크기 10MiB
트랜젝션 제한 시간 270초(유휴 만료 시간 60초)

색인

다음의 한도는 단일 필드 색인복합 색인에 적용됩니다.

이 페이지에서는 Firestore의 요청 할당량과 한도에 대해 다룹니다.

한도 세부정보
데이터베이스의 최대 복합 색인 수
데이터베이스의 최대 단일 필드 구성 수
  • Google Cloud 프로젝트에 결제를 사용 설정하지 않은 경우 200입니다.

    할당량이 더 필요하다면 Google Cloud 프로젝트에 결제를 사용 설정해야 합니다.

  • Google Cloud 프로젝트에 결제를 사용 설정한 경우 500입니다.

하나의 필드 수준 구성은 동일한 필드에 여러 구성을 포함할 수 있습니다. 예를 들어 동일한 필드의 단일 필드 색인 생성 예외와 TTL 정책은 한도에서 1개의 필드 구성으로 집계됩니다.

각 문서의 최대 색인 항목 수

40,000개

색인 항목 수는 문서 내 다음 항목의 총합입니다.

  • 단일 필드 색인 항목 수
  • 복합 색인 항목 수

Firestore에서 문서 및 색인 집합을 색인 항목으로 전환하는 방식을 확인하려면 색인 항목 개수 예시를 참조하세요.

복합 색인의 최대 필드 수 100개
색인 항목의 최대 크기

7.5KiB

Firestore에서 색인 항목 크기를 계산하는 방식을 확인하려면 색인 항목 크기를 참조하세요.

문서의 색인 항목 크기 최대 총합

8MiB

전체 크기는 문서 내 다음 항목의 총합입니다.

  • 문서의 단일 필드 색인 항목 크기 총합
  • 문서의 복합 색인 항목 크기 총합
  • 색인이 지정된 필드 값의 최대 크기

    1,500바이트

    1,500바이트를 초과하는 필드 값은 잘립니다. 잘린 필드 값을 포함하는 쿼리는 일관성 없는 결과를 반환할 수 있습니다.

    TTL(수명)

    한도 세부정보
    데이터베이스의 최대 단일 필드 구성 수
    • Google Cloud 프로젝트에 결제를 사용 설정하지 않은 경우 200입니다.

      할당량이 더 필요하다면 Google Cloud 프로젝트에 결제를 사용 설정해야 합니다.

    • Google Cloud 프로젝트에 결제를 사용 설정한 경우 500입니다.

    하나의 필드 수준 구성은 동일한 필드에 여러 구성을 포함할 수 있습니다. 예를 들어 동일한 필드의 단일 필드 색인 생성 예외와 TTL 정책은 한도에서 1개의 필드 구성으로 집계됩니다.

    내보내기/가져오기

    다음 한도는 관리형 가져오기 및 내보내기 작업에 적용됩니다.

    한도 세부정보
    프로젝트에 분당 허용되는 내보내기 및 가져오기 요청 최대 총합 20
    최대 내보내기 및 가져오기 동시 실행 수 50
    내보내기 및 가져오기 요청의 최대 컬렉션 ID 필터 수 100

    보안 규칙

    한도 세부정보
    요청당 최대 exists(), get(), getAfter() 호출 수
    • 단일 문서 요청 및 쿼리 요청의 경우 10입니다.
    • 여러 문서 읽기, 트랜잭션, 일괄 쓰기의 경우 20입니다. 이전의 한도인 10도 각 작업에 적용됩니다.

      예를 들어 3개의 쓰기 작업으로 일괄 쓰기 요청을 만들고 보안 규칙이 2회의 문서 액세스 호출을 사용하여 각 쓰기를 검증한다고 가정해 봅니다. 이 경우 각 쓰기는 10회의 액세스 호출 중 2회를 사용하고 일괄 쓰기 요청은 20회의 액세스 호출 중 6회를 사용합니다.

    한도 중 하나라도 초과하면 권한 거부 오류가 발생합니다.

    일부 문서 액세스 호출은 캐시될 수 있으며 캐시된 호출은 한도에 적용되지 않습니다.

    중첩된 match 문 최대 심도 10
    중첩된 match 문 집합 내에서 허용되는 최대 경로 길이(경로 세그먼트) 100
    중첩된 match 문 집합 내에서 허용되는 최대 경로 캡처 변수 개수 20
    함수 호출 최대 심도 20
    최대 함수 인수 개수 7
    함수당 최대 let 변수 결합 개수 10
    재귀 또는 순환 함수 호출의 최대 개수 0(허용되지 않음)
    요청당 평가되는 최대 표현식 수 1,000
    규칙 세트의 최대 크기 규칙 세트는 다음 두 가지 크기 제한을 준수해야 합니다.
    • Firebase Console 또는 firebase deploy를 사용하여 CLI에서 게시된 규칙 세트 텍스트 소스 크기는 256KB로 제한됩니다.
    • Firebase가 소스를 처리하고 백엔드에서 활성화할 때 생성되는 컴파일된 규칙 세트의 크기는 250KB로 제한됩니다.

    사용량 모니터링

    Cloud Firestore API 할당량 페이지와 App Engine 할당량 페이지에서 Firestore 사용량을 확인할 수 있습니다.