| เกี่ยวข้องกับ Cloud Firestore รุ่น Enterprise เท่านั้น |
หน้านี้อธิบายขนาดพื้นที่เก็บข้อมูลของเอกสาร ฟิลด์ และรายการดัชนีใน Cloud Firestore ที่เข้ากันได้กับ MongoDB
คุณดูค่าใช้จ่ายของพื้นที่เก็บข้อมูลนี้ได้ในหน้าราคา
ขนาดสตริง
ขนาดสตริงจะคำนวณเป็นจำนวนไบต์ที่เข้ารหัส UTF-8 + 1
ระบบจะจัดเก็บข้อมูลต่อไปนี้เป็นสตริง
- ชื่อคอลเล็กชัน
- ชื่อฟิลด์
- ค่าฟิลด์สตริง (รวมถึง
_id)
เช่น
- ชื่อคอลเล็กชัน
tasksใช้ 5 ไบต์ + 1 ไบต์ รวมเป็น 6 ไบต์ - ชื่อฟิลด์
descriptionใช้ 11 ไบต์ + 1 ไบต์ รวมเป็น 12 ไบต์
ขนาดค่าของช่อง
ตารางต่อไปนี้แสดงขนาดของค่าฟิลด์ตามประเภท
| ประเภท | ขนาด |
|---|---|
| อาร์เรย์ | ผลรวมของขนาดของค่า |
| บูลีน | 1 ไบต์ |
| ข้อมูลไบนารี | ความยาวไบต์ + 1 สำหรับประเภทย่อยที่ไม่ใช่ทั่วไป (ไม่ใช่ 0) |
| วันที่ | 8 ไบต์ |
| เตียงคู่ | 8 ไบต์ |
| Double128 | 16 ไบต์ |
| จำนวนเต็ม 32 บิต | 4 ไบต์ |
| จำนวนเต็มแบบ 64 บิต (ยาว) | 8 ไบต์ |
| ออบเจ็กต์ | ผลรวมของขนาดสตริงของชื่อฟิลด์แต่ละรายการและขนาดของค่าฟิลด์แต่ละรายการในออบเจ็กต์ที่ฝัง |
| คีย์ต่ำสุด | 1 ไบต์ |
| Max Key | 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 ไบต์
ขนาดรายการดัชนี
ขนาดของรายการดัชนีในดัชนีคือผลรวมของรายการต่อไปนี้
พิจารณาเอกสารในtasksคอลเล็กชัน
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
สำหรับดัชนีในฟิลด์ done และ
priority (ทั้ง 2 ฟิลด์เรียงจากน้อยไปมาก) ขนาดรวมของรายการดัชนีในดัชนีนี้
คือ 70 ไบต์
- 6 ไบต์สำหรับชื่อคอลเล็กชัน
tasks - 11 ไบต์สำหรับค่าฟิลด์
_id - 1 ไบต์สําหรับค่าช่องบูลีน
- 4 ไบต์สำหรับค่าฟิลด์จำนวนเต็ม 32 บิต
- อีก 48 ไบต์
สำหรับดัชนีแบบกระจาย หากเอกสารไม่มีฟิลด์ใดๆ
ระบบจะไม่สร้างรายการดัชนี หากเอกสารมีฟิลด์ที่จัดทำดัชนีอย่างน้อย 1 รายการ ระบบจะสร้างรายการดัชนีโดยตั้งค่าฟิลด์ที่จัดทำดัชนีที่ไม่มีอยู่เป็น NULL
ขั้นตอนถัดไป
ดูข้อมูลเกี่ยวกับราคา