การคำนวณขนาดพื้นที่เก็บข้อมูล

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

ขนาดเอกสาร

ขนาดของเอกสารคือผลรวมของรายการต่อไปนี้

ตัวอย่างนี้ใช้สำหรับเอกสารในคอลเล็กชันย่อย 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 ไบต์

ขนาดรายการดัชนี

ระบบจะคำนวณขนาดรายการดัชนีดังนี้สำหรับดัชนีแบบฟิลด์เดียวและดัชนีแบบผสม

ขนาดรายการดัชนีฟิลด์เดียว

ขนาดของรายการดัชนีแบบฟิลด์เดียวจะขึ้นอยู่กับว่าดัชนีมีขอบเขตเป็นคอลเล็กชันหรือกลุ่มคอลเล็กชัน

ขอบเขตคอลเล็กชัน

ขนาดของรายการในดัชนีแบบฟิลด์เดียวที่มีขอบเขตของคอลเล็กชันคือผลรวม ของรายการต่อไปนี้

พิจารณาเอกสารในคอลเล็กชันย่อย 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 ไบต์

ขอบเขตกลุ่มคอลเล็กชัน

ขนาดของรายการในดัชนีแบบฟิลด์เดียวที่มีขอบเขตกลุ่มคอลเล็กชันคือผลรวมของรายการต่อไปนี้

พิจารณาเอกสารในคอลเล็กชันย่อย 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 ไบต์

ขนาดรายการดัชนีผสม

ขนาดของรายการในดัชนีแบบผสมจะขึ้นอยู่กับว่าดัชนีมีขอบเขตเป็นคอลเล็กชันหรือกลุ่มคอลเล็กชัน

ขอบเขตคอลเล็กชัน

ขนาดของรายการดัชนีในดัชนีผสมที่มีขอบเขตคอลเล็กชันคือผลรวมของรายการต่อไปนี้

พิจารณาเอกสารในคอลเล็กชันย่อย 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 ไบต์

ขอบเขตกลุ่มคอลเล็กชัน

ขนาดของรายการดัชนีในดัชนีผสมที่มีขอบเขตกลุ่มคอลเล็กชันคือผลรวมของรายการต่อไปนี้

พิจารณาเอกสารในคอลเล็กชันย่อย 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 ไบต์

ขั้นตอนถัดไป

ดูข้อมูลเกี่ยวกับCloud Firestoreราคา