หน้านี้อธิบายขนาดพื้นที่เก็บข้อมูลของเอกสาร ชื่อเอกสาร ฟิลด์ และ รายการดัชนีใน Cloud Firestore
ดูข้อมูลเกี่ยวกับค่าใช้จ่ายในการจัดเก็บนี้ได้ที่Cloud Firestore ราคาขนาดสตริง
ขนาดสตริงจะคำนวณเป็นจำนวนไบต์ที่เข้ารหัส UTF-8 + 1
ระบบจะจัดเก็บข้อมูลต่อไปนี้เป็นสตริง
- รหัสคอลเล็กชัน
- รหัสเอกสารสตริง
- ชื่อเอกสาร
- ชื่อฟิลด์
- ค่าของช่องสตริง
เช่น
- รหัสคอลเล็กชัน
tasksใช้ 5 ไบต์ + 1 ไบต์ รวมเป็น 6 ไบต์ - ชื่อฟิลด์
descriptionใช้ 11 ไบต์ + 1 ไบต์ รวมเป็น 12 ไบต์
ขนาดรหัสเอกสาร
ขนาดของรหัสเอกสารคือ string size สำหรับรหัสสตริง หรือ 8 ไบต์สำหรับรหัสจำนวนเต็ม
ขนาดชื่อเอกสาร
ขนาดของชื่อเอกสารคือผลรวมของ
- ขนาดของรหัสคอลเล็กชันและรหัสเอกสารแต่ละรายการในเส้นทางไปยังเอกสาร
- อีก 16 ไบต์
สำหรับเอกสารในคอลเล็กชันย่อย users/jeff/tasks ที่มีรหัสเอกสารสตริง
ของ my_task_id ขนาดชื่อเอกสารคือ 6 + 5 + 6 + 11 + 16 = 44 ไบต์
- 6 ไบต์สำหรับรหัสคอลเล็กชัน
users - 5 ไบต์สำหรับ
jeffรหัสเอกสาร - 6 ไบต์สำหรับรหัสคอลเล็กชัน
tasks - 11 ไบต์สำหรับ
my_task_idรหัสเอกสาร - อีก 16 ไบต์
ขนาดค่าของช่อง
ตารางต่อไปนี้แสดงขนาดของค่าฟิลด์ตามประเภท
| ประเภท | ขนาด |
|---|---|
| อาร์เรย์ | ผลรวมของขนาดของค่า |
| บูลีน | 1 ไบต์ |
| ไบต์ | ความยาวเป็นไบต์ |
| วันที่และเวลา | 8 ไบต์ |
| เลขจุดลอยตัว | 8 ไบต์ |
| จุดทางภูมิศาสตร์ | 16 ไบต์ |
| จำนวนเต็ม | 8 ไบต์ |
| แผนที่ | ขนาดของแผนที่ ซึ่งคำนวณในลักษณะเดียวกับขนาดเอกสาร |
| Null | 1 ไบต์ |
| ข้อมูลอ้างอิง | ขนาดชื่อเอกสาร |
| สตริงข้อความ | จำนวนไบต์ที่เข้ารหัส UTF-8 + 1 |
| Vector | 8 ไบต์ต่อมิติข้อมูล |
เช่น ฟิลด์บูลีนชื่อ done จะใช้ 6 ไบต์
- 5 ไบต์สำหรับชื่อฟิลด์
done - 1 ไบต์สำหรับค่าบูลีน
ขนาดเอกสาร
ขนาดของเอกสารคือผลรวมของรายการต่อไปนี้
- ขนาดชื่อเอกสาร
- ผลรวมของขนาดสตริงของชื่อฟิลด์แต่ละรายการ
- ผลรวมของขนาดของค่าฟิลด์แต่ละรายการ
- อีก 32 ไบต์
ตัวอย่างนี้ใช้สำหรับเอกสารในคอลเล็กชันย่อย users/jeff/tasks
ที่มีรหัสเอกสารสตริงเป็น my_task_id
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
ขนาดรวมของฟิลด์คือ 71 ไบต์
| ชื่อและค่าของฟิลด์ | ขนาดของช่องข้อมูลในหน่วยไบต์ |
|---|---|
"type": "Personal" |
14 5 สำหรับชื่อฟิลด์ + 9 สำหรับค่าสตริงของฟิลด์ |
"done": false |
6 5 สำหรับชื่อฟิลด์ + 1 สำหรับค่าบูลีนของฟิลด์ |
"priority": 1 |
17 9 สำหรับชื่อฟิลด์ + 8 สำหรับค่าจำนวนเต็มของฟิลด์ |
"description": "Learn Cloud Firestore" |
34 12 สำหรับชื่อฟิลด์ + 22 สำหรับค่าสตริงของฟิลด์ |
ดังนั้นขนาดเอกสารจึงเป็น 44 + 71 + 32 = 147 ไบต์
- 44 ไบต์สำหรับชื่อเอกสาร
- 71 ไบต์สำหรับช่อง
- อีก 32 ไบต์
ขนาดรายการดัชนี
ระบบจะคำนวณขนาดรายการดัชนีดังนี้สำหรับดัชนีแบบฟิลด์เดียวและดัชนีแบบผสม
ขนาดรายการดัชนีแบบฟิลด์เดียว
ขนาดของรายการดัชนีแบบฟิลด์เดียวจะขึ้นอยู่กับว่าดัชนีมีขอบเขตเป็นคอลเล็กชันหรือกลุ่มคอลเล็กชัน
ขอบเขตคอลเล็กชัน
ขนาดของรายการในดัชนีแบบฟิลด์เดียวที่มีขอบเขตของคอลเล็กชันคือผลรวม ของรายการต่อไปนี้
- ขนาดชื่อเอกสารของเอกสารที่จัดทำดัชนี
- ขนาดชื่อเอกสารของเอกสารหลักของเอกสารที่จัดทำดัชนี
- ขนาดสตริงของชื่อฟิลด์ที่จัดทำดัชนี
- ขนาดของค่าฟิลด์ที่จัดทำดัชนี
- อีก 32 ไบต์
พิจารณาเอกสารในคอลเล็กชันย่อย users/jeff/tasks ที่มี
รหัสเอกสารสตริงเป็น my_task_id
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
สำหรับดัชนีแบบฟิลด์เดียวที่มีขอบเขตคอลเล็กชันซึ่งจัดทำดัชนีdone
ฟิลด์ ขนาดรวมของรายการในดัชนีนี้คือ 109 ไบต์
- 44 ไบต์สำหรับชื่อเอกสาร
users/jeff/tasks/my_task_id - 27 ไบต์สำหรับชื่อเอกสารของเอกสารหลัก
users/jeff - 5 ไบต์สำหรับชื่อฟิลด์
done - 1 ไบต์สําหรับค่าช่องบูลีน
- อีก 32 ไบต์
ขอบเขตกลุ่มคอลเล็กชัน
ขนาดของรายการในดัชนีแบบฟิลด์เดียวที่มีขอบเขตกลุ่มคอลเล็กชันคือผลรวมของรายการต่อไปนี้
- ขนาดชื่อเอกสารของเอกสารที่จัดทำดัชนี
- ขนาดสตริงของชื่อฟิลด์ที่จัดทำดัชนี
- ขนาดของค่าฟิลด์ที่จัดทำดัชนี
- อีก 48 ไบต์
พิจารณาเอกสารในคอลเล็กชันย่อย users/jeff/tasks ที่มี
รหัสเอกสารสตริงเป็น my_task_id
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
สำหรับดัชนีแบบฟิลด์เดียวที่มีขอบเขตกลุ่มคอลเล็กชันซึ่งจัดทำดัชนีdone
ฟิลด์ ขนาดรวมของรายการในดัชนีนี้คือ 98 ไบต์
- 44 ไบต์สำหรับชื่อเอกสาร
users/jeff/tasks/my_task_id - 5 ไบต์สำหรับชื่อฟิลด์
done - 1 ไบต์สําหรับค่าช่องบูลีน
- อีก 48 ไบต์
ขนาดรายการดัชนีผสม
ขนาดของรายการในดัชนีแบบผสมจะขึ้นอยู่กับว่าดัชนีมีขอบเขตเป็นคอลเล็กชันหรือกลุ่มคอลเล็กชัน
ขอบเขตคอลเล็กชัน
ขนาดของรายการดัชนีในดัชนีผสมที่มีขอบเขตคอลเล็กชันคือผลรวมของรายการต่อไปนี้
- ขนาดชื่อเอกสารของเอกสารที่จัดทำดัชนี
- ขนาดชื่อเอกสารของเอกสารหลักของเอกสารที่จัดทำดัชนี
- ผลรวมของค่าฟิลด์ที่จัดทำดัชนี
- อีก 32 ไบต์
พิจารณาเอกสารในคอลเล็กชันย่อย users/jeff/tasks ที่มี
รหัสเอกสารสตริงเป็น my_task_id
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
สำหรับดัชนีผสมที่มีขอบเขตคอลเล็กชันซึ่งจัดทำดัชนีฟิลด์ done และ
priority (ทั้ง 2 ฟิลด์เป็นแบบขึ้น) ขนาดรวมของรายการในดัชนีนี้คือ
112 ไบต์
- 44 ไบต์สำหรับชื่อเอกสาร
users/jeff/tasks/my_task_id - 27 ไบต์สำหรับชื่อเอกสารของเอกสารหลัก
users/jeff - 1 ไบต์สําหรับค่าช่องบูลีน
- 8 ไบต์สำหรับค่าฟิลด์จำนวนเต็ม
- อีก 32 ไบต์
ขอบเขตกลุ่มคอลเล็กชัน
ขนาดของรายการดัชนีในดัชนีผสมที่มีขอบเขตกลุ่มคอลเล็กชันคือผลรวมของรายการต่อไปนี้
- ขนาดชื่อเอกสารของเอกสารที่จัดทำดัชนี
- ผลรวมของค่าฟิลด์ที่จัดทำดัชนี
- อีก 32 ไบต์
พิจารณาเอกสารในคอลเล็กชันย่อย users/jeff/tasks ที่มี
รหัสเอกสารสตริงเป็น my_task_id
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
สําหรับดัชนีผสมที่มีขอบเขตกลุ่มคอลเล็กชันซึ่งจัดทําดัชนีช่อง done และ
priority (ทั้ง 2 ช่องเรียงจากน้อยไปมาก) ขนาดรวมของรายการดัชนีในดัชนีนี้
คือ 85 ไบต์
- 44 ไบต์สำหรับชื่อเอกสาร
users/jeff/tasks/my_task_id - 1 ไบต์สําหรับค่าช่องบูลีน
- 8 ไบต์สำหรับค่าฟิลด์จำนวนเต็ม
- อีก 32 ไบต์