หน้านี้อธิบายขนาดการจัดเก็บเอกสาร ชื่อเอกสาร ฟิลด์ และรายการดัชนีใน Cloud Firestore
คุณสามารถเรียนรู้เกี่ยวกับค่าใช้จ่ายของพื้นที่จัดเก็บนี้ได้ที่ราคา Cloud Firestoreขนาดสตริง
ขนาดสตริงคำนวณจากจำนวนไบต์ ที่เข้ารหัส UTF-8 + 1
ต่อไปนี้จะถูกเก็บไว้เป็นสตริง:
- รหัสคอลเลกชัน
- รหัสเอกสารสตริง
- ชื่อเอกสาร
- ชื่อช่อง
- ค่าฟิลด์สตริง
ตัวอย่างเช่น:
-
tasks
ID คอลเลกชันใช้ 5 ไบต์ + 1 ไบต์ รวมเป็น 6 ไบต์ -
description
ชื่อฟิลด์ใช้ 11 ไบต์ + 1 ไบต์ รวมเป็น 12 ไบต์
ขนาดรหัสเอกสาร
ขนาดของ ID เอกสารอาจเป็น ขนาดสตริง สำหรับ ID สตริง หรือ 8 ไบต์สำหรับ ID จำนวนเต็ม
ขนาดชื่อเอกสาร
ขนาดของชื่อเอกสารเป็นผลรวมของ:
- ขนาดของแต่ละรหัสคอลเลกชันและ ID เอกสารในเส้นทางไปยังเอกสาร
- 16 ไบต์เพิ่มเติม
สำหรับเอกสารในคอลเลกชันย่อย users/jeff/tasks
มี ID เอกสารสตริงของ my_task_id
ขนาดของชื่อเอกสารคือ 6 + 5 + 6 + 11 + 16 = 44 ไบต์:
- 6 ไบต์สำหรับ ID คอลเลกชัน
users
- 5 ไบต์สำหรับ ID เอกสาร
jeff
- 6 ไบต์สำหรับ ID การรวบรวม
tasks
- 11 ไบต์สำหรับ ID เอกสาร
my_task_id
- 16 ไบต์เพิ่มเติม
ขนาดค่าฟิลด์
ตารางต่อไปนี้แสดงขนาดของค่าฟิลด์ตามประเภท
พิมพ์ | ขนาด |
---|---|
Array | ผลรวมของขนาดของค่าของมัน |
บูลีน | 1 ไบต์ |
ไบต์ | ไบต์ความยาว |
วันและเวลา | 8 ไบต์ |
เลขทศนิยม | 8 ไบต์ |
จุดทางภูมิศาสตร์ | 16 ไบต์ |
จำนวนเต็ม | 8 ไบต์ |
แผนที่ | ขนาดของแผนที่คำนวณแบบเดียวกับ ขนาดเอกสาร |
โมฆะ | 1 ไบต์ |
อ้างอิง | ชื่อเอกสาร size |
สตริงข้อความ | จำนวนไบต์ที่เข้ารหัส UTF-8 + 1 |
ตัวอย่างเช่น ฟิลด์บูลีนที่ชื่อ done
จะใช้ 6 ไบต์:
- 5 ไบต์สำหรับชื่อฟิลด์ที่
done
- 1 ไบต์สำหรับค่าบูลีน
ขนาดเอกสาร
ขนาดของเอกสารเป็นผลรวมของ:
- ชื่อเอกสาร size
- ผลรวมของ ขนาดสตริง ของแต่ละชื่อฟิลด์
- ผลรวมของขนาดของ ค่าแต่ละช่อง
- 32 ไบต์เพิ่มเติม
ตัวอย่างนี้มีไว้สำหรับเอกสารในคอลเลกชันย่อย users/jeff/tasks
มี ID เอกสารสตริงของ 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 ไบต์เพิ่มเติม
พิจารณาเอกสารใน sub-collection users/jeff/tasks
ด้วย ID เอกสารสตริงของ 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 ไบต์เพิ่มเติม
พิจารณาเอกสารใน sub-collection users/jeff/tasks
ด้วย ID เอกสารสตริงของ 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 ไบต์เพิ่มเติม
พิจารณาเอกสารใน sub-collection users/jeff/tasks
ด้วย ID เอกสารสตริงของ my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
สำหรับดัชนีแบบรวมที่มีขอบเขตการรวบรวมที่ทำดัชนีฟิลด์ที่ done
และ priority
(ทั้งจากน้อยไปหามาก) ขนาดรวมของรายการในดัชนีนี้คือ 112 ไบต์:
- 44 ไบต์สำหรับชื่อเอกสาร
users/jeff/tasks/my_task_id
- 27 ไบต์สำหรับผู้
users/jeff
- 1 ไบต์สำหรับค่าฟิลด์บูลีน
- 8 ไบต์สำหรับค่าฟิลด์จำนวนเต็ม
- 32 ไบต์เพิ่มเติม
ขอบเขตกลุ่มคอลเลกชัน
ขนาดของรายการดัชนีในดัชนีผสมที่มีขอบเขตกลุ่มคอลเลกชันเป็นผลรวมของ:
- ขนาดชื่อเอกสาร ของเอกสารที่จัดทำดัชนี
- ผลรวมของ ค่าฟิลด์ ที่จัดทำดัชนี
- 32 ไบต์เพิ่มเติม
พิจารณาเอกสารใน sub-collection users/jeff/tasks
ด้วย ID เอกสารสตริงของ my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
สำหรับดัชนีแบบรวมที่มีขอบเขตกลุ่มคอลเลกชันที่ทำดัชนีฟิลด์ที่ done
และ priority
(ทั้งจากน้อยไปหามาก) ขนาดรวมของรายการดัชนีในดัชนีนี้คือ 85 ไบต์:
- 44 ไบต์สำหรับชื่อเอกสาร
users/jeff/tasks/my_task_id
- 1 ไบต์สำหรับค่าฟิลด์บูลีน
- 8 ไบต์สำหรับค่าฟิลด์จำนวนเต็ม
- 32 ไบต์เพิ่มเติม