이 페이지에서는 Datastore 모드의 Firestore의 항목, 키, 속성, 색인 항목의 스토리지 크기를 설명합니다. 이 스토리지의 비용은 Datastore 모드 가격 책정에서 확인할 수 있습니다.
문자열 크기
문자열 크기는 UTF-8로 인코딩된 바이트 수+1로 계산됩니다.
다음 항목은 문자열로 저장됩니다.
- 키
- 종류 이름
- 네임스페이스 이름(기본 네임스페이스의 크기는 0)
- 속성 이름
- 문자열 속성 값
예를 들면 다음과 같습니다.
Task
종류의 이름은 4바이트 + 1바이트를 사용해 총 5바이트입니다.description
속성의 이름은 11바이트 + 1바이트를 사용해 총 12바이트입니다.my_name_space
네임스페이스의 이름은 13바이트 + 1바이트를 사용해 총 14바이트입니다.
키 크기
키 크기는 다음의 합으로 계산합니다.
- 네임스페이스 문자열 크기(기본 네임 스페이스가 아닌 경우)
- 전체 키 경로 문자열 크기(정수 ID는 각각 8바이트)
- 16바이트
기본 네임스페이스의 Task
종류 키(숫자 ID를 포함하고 상위 항목은 없는 경우):
Task id:5730082031140864
키 크기는 다음과 같이 5+8+16=29바이트가 됩니다.
Task
종류 이름 5바이트- 숫자 ID 8바이트
- 키 16바이트
기본 네임스페이스의 Task
종류 키(문자열 ID를 포함하고 상위 항목은 없는 경우):
Task name:my_task_id
키 크기는 다음과 같이 5+11+16=32바이트가 됩니다.
Task
종류 이름 5바이트my_task_id
문자열 ID 11바이트- 키 16바이트
기본 네임스페이스의 Task
항목(TaskList
상위 항목을 포함한 경우):
TaskList id:5654313976201216 > Task id:5629499534213120
상위 항목이 다음과 같이 9+8=17바이트를 사용합니다.
TaskList
종류 이름 9바이트- 숫자 ID 8바이트
따라서 TaskList
상위 항목이 있는 Task
항목의 키 크기는 17+5+8+16=46바이트를 사용하게 됩니다.
- 상위 항목 17바이트
Task
종류 이름 5바이트- 숫자 ID 8바이트
- 키 16바이트
이 항목이 my_name_space
네임스페이스에 있는 경우 my_name_space
이름이 14바이트를 사용하므로 키 크기는 14+46=60바이트가 됩니다.
속성 크기
속성 크기는 다음 항목의 총합입니다.
- 속성 이름 문자열 크기
- 속성 값 크기
다음은 유형별 속성 값 크기를 보여줍니다.
유형 | 크기 |
---|---|
배열 | 값 크기의 총합 |
Blob | 바이트 길이 |
부울 | 1바이트 |
실수 | 8바이트 |
내장 항목 | 항목 크기 |
지리적 지점 | 16바이트 |
정수 | 8바이트 |
키 | 키 크기 |
Null | 1바이트 |
문자열 | UTF-8로 인코딩된 바이트 수 +1 |
타임스탬프 | 8바이트 |
예를 들어 done
이라는 이름의 부울 유형 속성은 6바이트를 사용합니다.
done
속성 이름 5바이트- 부울 값 1바이트
항목 크기
항목 크기는 다음 항목의 총합입니다.
이 예시는 숫자 ID를 포함하고 상위 항목이 없으면서 기본 네임스페이스에 있는 Task
종류 항목의 경우입니다.
Task id:5730082031140864 - "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Google Cloud Datastore"
속성의 전체 크기는 다음과 같이 78바이트입니다.
속성 이름 및 값 | 속성 크기(바이트) |
---|---|
"type": "Personal" |
14 속성 이름 5+속성 문자열 값 9 |
"done": false |
6 속성 이름 5+속성 부울 값 1 |
"priority": 1 |
17 속성 이름 9+속성 정수 값 8 |
"description": "Learn Google Cloud Datastore" |
41 속성 이름 12+속성 문자열 값 29 |
따라서 항목 크기는 다음과 같이 29+78+32=139바이트입니다.
- 키 29바이트
- 속성 78바이트
- 항목 32바이트
색인 항목 크기
색인 항목의 크기는 내장 색인 및 복합 색인의 경우 다음과 같이 계산됩니다.
내장 색인
내장 색인 항목의 크기는 다음 항목의 총합입니다.
예를 들어 기본 네임스페이스에서 숫자 ID가 있고 상위 항목은 없는 종류가 Task
인 항목을 살펴봅니다.
Task id:5730082031140864 - "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Google Cloud Datastore"
done
이 색인이 생성된 속성인 경우 단일 속성 done
색인의 내장 색인 항목은 키, done
속성 이름과 값, Task
종류 이름, 색인 항목의 32바이트로 구성됩니다. 이 색인 항목의 총 크기는 72바이트입니다.
- 키 29
done
속성 이름 및 부울 값 6Task
종류 이름 5- 색인 항목 32
기본적으로 Datastore 모드 데이터베이스는 각 항목 종류의 각 속성에 대한 두 단일 속성 색인(하나는 오름차순으로, 다른 하나는 내림차순으로)을 자동으로 미리 정의합니다. 따라서 이 항목은 오름차순의 단일 속성 done
색인에 대한 72바이트 크기의 색인 항목과 내림차순의 단일 속성 done
색인에 대한 72바이트 크기의 색인 항목을 갖게 됩니다.
복합 색인
복합 색인 항목의 크기는 다음 항목의 총합입니다.
예를 들어 기본 네임스페이스에서 숫자 ID가 있고 상위 항목은 없는 종류가 Task
인 항목을 살펴봅니다.
indexes: - kind: Task properties: - name: done direction: asc - name: priority direction: asc
done
및 priority
속성(둘 다 오름차순)을 사용하는 복합 색인을 생각해 보세요.
이 색인의 색인 항목 총 크기는 70바이트입니다.
- 키 29
done
속성 부울 값 1priority
속성 정수 값 8- 색인 항목 32
Datastore 모드의 Firestore에서 속성의 색인을 유지하지 않도록 하려면 색인에서 속성을 제외합니다. 속성을 제외하면 모든 복합 색인에서 해당 속성이 제거됩니다.
다음 단계
- Datastore 모드 가격 책정 알아보기
- Datastore 모드 색인 알아보기