การคำนวณขนาดการจัดเก็บ

หน้านี้อธิบายขนาดพื้นที่เก็บข้อมูลของเอกสาร ชื่อเอกสาร ฟิลด์ และรายการดัชนีใน Cloud Firestore

คุณสามารถเรียนรู้เกี่ยวกับต้นทุนของพื้นที่เก็บข้อมูลนี้ได้ที่ ราคา Cloud Firestore

ขนาดสาย

ขนาดสตริงคำนวณเป็นจำนวนไบต์ ที่เข้ารหัส UTF-8 + 1

ข้อมูลต่อไปนี้จะถูกจัดเก็บเป็นสตริง:

  • รหัสคอลเลกชัน
  • รหัสเอกสารสตริง
  • ชื่อเอกสาร
  • ชื่อฟิลด์
  • ค่าฟิลด์สตริง

ตัวอย่างเช่น:

  • tasks ID คอลเลกชันใช้ 5 ไบต์ + 1 ไบต์ รวมเป็น 6 ไบต์
  • description ชื่อฟิลด์ใช้ 11 ไบต์ + 1 ไบต์ รวมเป็น 12 ไบต์

ขนาดรหัสเอกสาร

ขนาดของ ID เอกสารคือ ขนาดสตริง สำหรับ ID สตริงหรือ 8 ไบต์สำหรับ 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 ไบต์

ขนาดค่าฟิลด์

ตารางต่อไปนี้แสดงขนาดของค่าฟิลด์ตามประเภท

พิมพ์ ขนาด
อาร์เรย์ ผลรวมของขนาดของค่า
บูลีน 1 ไบต์
ไบต์ ความยาวไบต์
วันและเวลา 8 ไบต์
จำนวนจุดลอยตัว 8 ไบต์
จุดทางภูมิศาสตร์ 16 ไบต์
จำนวนเต็ม 8 ไบต์
แผนที่ ขนาดของแผนที่คำนวณแบบเดียวกับ ขนาดเอกสาร
โมฆะ 1 ไบต์
อ้างอิง ขนาดชื่อเอกสาร
สตริงข้อความ จำนวนไบต์ที่เข้ารหัส UTF-8 + 1

ตัวอย่างเช่น ฟิลด์บูลีนที่ชื่อ done จะใช้ขนาด 6 ไบต์:

  • 5 ไบต์สำหรับชื่อฟิลด์ done
  • 1 ไบต์สำหรับค่าบูลีน

ขนาดเอกสาร

ขนาดของเอกสารคือผลรวมของ:

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

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

ขนาดรายการดัชนีได้รับการคำนวณดังนี้สำหรับดัชนีช่องเดียวและดัชนีรวม

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

ขนาดของรายการดัชนีเขตข้อมูลเดียวขึ้นอยู่กับว่าดัชนีถูกกำหนดขอบเขตไว้ที่คอลเลกชันหรือกลุ่มคอลเลกชัน

ขอบเขตการรวบรวม

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

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

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

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

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

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

ขนาดของรายการในดัชนีคอมโพสิตขึ้นอยู่กับว่าดัชนีนั้นถูกกำหนดขอบเขตไว้ที่คอลเลกชันหรือกลุ่มคอลเลกชัน

ขอบเขตการรวบรวม

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

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

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

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

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

อะไรต่อไป

เรียนรู้เกี่ยวกับ ราคา Cloud Firestore