เกี่ยวข้องกับ Cloud Firestore Enterprise Edition เท่านั้น |
หน้านี้อธิบายขนาดพื้นที่เก็บข้อมูลของเอกสาร ฟิลด์ และรายการดัชนีใน 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
ขั้นตอนถัดไป
ดูข้อมูลเกี่ยวกับราคา