Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

การคำนวณขนาดพื้นที่จัดเก็บ

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

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

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

ขนาดสตริง

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

ต่อไปนี้จะถูกเก็บไว้เป็นสตริง:

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

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

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

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

ขนาดของ ID เอกสารอาจเป็น ขนาดสตริง สำหรับ ID สตริง หรือ 8 ไบต์สำหรับ ID จำนวนเต็ม

ขนาดชื่อเอกสาร

ขนาดของชื่อเอกสารเป็นผลรวมของ:

  • ขนาดของแต่ละรหัสคอลเลกชันและ 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 ไบต์เพิ่มเติม

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

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

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

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

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

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

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

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

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

พิจารณาเอกสารใน sub-collection 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 ไบต์เพิ่มเติม

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

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

พิจารณาเอกสารใน sub-collection 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 ไบต์เพิ่มเติม

ขนาดรายการดัชนีคอมโพสิต

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

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

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

พิจารณาเอกสารใน sub-collection 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 ไบต์เพิ่มเติม

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

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

พิจารณาเอกสารใน sub-collection 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