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