หน้านี้อธิบายขนาดพื้นที่เก็บข้อมูลของเอกสาร ช่อง และ รายการดัชนีใน Cloud Firestore
คุณดูข้อมูลเกี่ยวกับค่าใช้จ่ายของพื้นที่เก็บข้อมูลนี้ได้ที่หน้าการกำหนดราคา
ขนาดสตริง
ระบบจะคำนวณขนาดสตริงเป็นจำนวนไบต์ที่เข้ารหัส UTF-8 + 1
ระบบจะจัดเก็บข้อมูลต่อไปนี้เป็นสตริง
- ชื่อคอลเล็กชัน
- ชื่อช่อง
- ค่าในช่องสตริง (รวมถึง
_id)
เช่น
- ชื่อคอลเล็กชัน
tasksใช้ 5 ไบต์ + 1 ไบต์ รวมเป็น 6 ไบต์ - ชื่อช่อง
descriptionใช้ 11 ไบต์ + 1 ไบต์ รวมเป็น 12 ไบต์
ขนาดค่าในช่อง
ตารางต่อไปนี้แสดงขนาดของค่าในช่องตามประเภท
| ประเภท | ขนาด |
|---|---|
| อาร์เรย์ | ผลรวมของขนาดค่า |
| บูลีน | 1 ไบต์ |
| ข้อมูลไบนารี | ความยาวไบต์ + 1 สำหรับประเภทย่อยที่ไม่ใช่ทั่วไป (ไม่ใช่ 0) |
| วันที่ | 8 ไบต์ |
| เตียงคู่ | 8 ไบต์ |
| Double128 | 16 ไบต์ |
| จำนวนเต็มแบบ 32 บิต | 4 ไบต์ |
| จำนวนเต็มแบบ 64 บิต (ยาว) | 8 ไบต์ |
| ออบเจ็กต์ | ผลรวมของขนาดสตริงของชื่อช่องแต่ละช่องและขนาดของค่าในช่องแต่ละช่องในออบเจ็กต์ที่ฝัง |
| คีย์ต่ำ | 1 ไบต์ |
| คีย์สูง | 1 ไบต์ |
| Null | 1 ไบต์ |
| นิพจน์ทั่วไป | (ความยาวรูปแบบ + 1) + (ความยาวตัวเลือก + 1) |
| การประทับเวลา | 8 ไบต์ |
| สตริง | จำนวนไบต์ที่เข้ารหัส UTF-8 + 1 |
ตัวอย่างเช่น ช่องบูลีนชื่อ done จะใช้ 6 ไบต์ ดังนี้
- 5 ไบต์สำหรับชื่อช่อง
done - 1 ไบต์สำหรับค่าบูลีน
ขนาดเอกสาร
ขนาดของเอกสารคือผลรวมของข้อมูลต่อไปนี้
- ขนาดสตริงของชื่อคอลเล็กชัน
- ผลรวมของขนาดสตริงของชื่อช่องแต่ละช่อง (ยกเว้น
_id) - ผลรวมของขนาดค่าในช่องแต่ละช่อง (รวมถึง
_id) - อีก 48 ไบต์
ตัวอย่างนี้ใช้สำหรับเอกสารในคอลเล็กชัน tasks
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
ขนาดรวมของช่องคือ 78 ไบต์
| ชื่อและค่าในช่อง | ขนาดช่องเป็นไบต์ |
|---|---|
"_id": "my_task_id" |
11 สำหรับค่าสตริงของช่อง |
"type": "Personal" |
14 5 สำหรับชื่อช่อง + 9 สำหรับค่าสตริงของช่อง |
"done": false |
6 5 สำหรับชื่อช่อง + 1 สำหรับค่าบูลีนของช่อง |
"priority": 1 |
17 9 สำหรับชื่อช่อง + 4 สำหรับค่าจำนวนเต็มแบบ 32 บิตของช่อง |
"description": "Learn Cloud Firestore" |
34 12 สำหรับชื่อช่อง + 22 สำหรับค่าสตริงของช่อง |
ดังนั้นขนาดเอกสารจึงเป็น 6 + 78 + 48 = 132 ไบต์
- 6 สำหรับชื่อคอลเล็กชัน
- 78 ไบต์สำหรับช่อง
- อีก 48 ไบต์
ขนาดรายการดัชนี
ขนาดของรายการดัชนีในดัชนีคือผลรวมของข้อมูลต่อไปนี้
- ขนาดสตริงของชื่อคอลเล็กชัน
- ขนาดค่าในช่อง
_id - ผลรวมของค่าในช่องที่จัดทำดัชนี field values
- อีก 48 ไบต์
พิจารณาเอกสารในคอลเล็กชัน tasks
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
สำหรับดัชนีในช่อง done และ priority (ทั้งจากน้อยไปมาก) ขนาดรวมของรายการดัชนีในดัชนีนี้คือ 70 ไบต์
- 6 ไบต์สำหรับชื่อคอลเล็กชัน
tasks - 11 ไบต์สำหรับค่าในช่อง
_id - 1 ไบต์สำหรับค่าในช่องบูลีน
- 4 ไบต์สำหรับค่าในช่องจำนวนเต็มแบบ 32 บิต
- อีก 48 ไบต์
สำหรับดัชนีแบบเบาบาง หากเอกสารไม่มีช่องใดๆ ระบบจะไม่สร้างรายการดัชนี หากเอกสารมีช่องที่จัดทำดัชนีอย่างน้อย 1 ช่อง ระบบจะสร้างรายการดัชนีโดยตั้งค่าช่องที่จัดทำดัชนีที่ไม่มีเป็น NULL
ขั้นตอนถัดไป
ดูข้อมูลเกี่ยวกับการกำหนดราคา