ขนาดของพื้นที่เก็บข้อมูล

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

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

ขนาดสตริง

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

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

  • ชื่อคอลเล็กชัน
  • ชื่อช่อง
  • ค่าในช่องสตริง (รวมถึง _id)

เช่น

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

ขนาดค่าในช่อง

ตารางต่อไปนี้แสดงขนาดของค่าในช่องตามประเภท

ประเภท ขนาด
อาร์เรย์ ผลรวมของขนาดค่า
บูลีน 1 ไบต์
ข้อมูลไบนารี ความยาวไบต์ + 1 สำหรับประเภทย่อยที่ไม่ใช่ทั่วไป (ไม่ใช่ 0)
วันที่ 8 ไบต์
เตียงคู่ 8 ไบต์
Double128 16 ไบต์
จำนวนเต็มแบบ 32 บิต 4 ไบต์
จำนวนเต็มแบบ 64 บิต (ยาว) 8 ไบต์
ออบเจ็กต์ ผลรวมของขนาดสตริงของชื่อช่องแต่ละช่องและขนาดของค่าในช่องแต่ละช่องในออบเจ็กต์ที่ฝัง
คีย์ต่ำ 1 ไบต์
คีย์สูง 1 ไบต์
Null 1 ไบต์
นิพจน์ทั่วไป (ความยาวรูปแบบ + 1) + (ความยาวตัวเลือก + 1)
การประทับเวลา 8 ไบต์
สตริง จำนวนไบต์ที่เข้ารหัส UTF-8 + 1

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

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

ขนาดเอกสาร

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

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

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

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

  • ขนาดสตริงของชื่อคอลเล็กชัน
  • ขนาดค่าในช่อง _id
  • ผลรวมของค่าในช่องที่จัดทำดัชนี field values
  • อีก 48 ไบต์

พิจารณาเอกสารในคอลเล็กชัน tasks

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

สำหรับดัชนีในช่อง done และ priority (ทั้งจากน้อยไปมาก) ขนาดรวมของรายการดัชนีในดัชนีนี้คือ 70 ไบต์

  • 6 ไบต์สำหรับชื่อคอลเล็กชัน tasks
  • 11 ไบต์สำหรับค่าในช่อง _id
  • 1 ไบต์สำหรับค่าในช่องบูลีน
  • 4 ไบต์สำหรับค่าในช่องจำนวนเต็มแบบ 32 บิต
  • อีก 48 ไบต์

สำหรับดัชนีแบบเบาบาง หากเอกสารไม่มีช่องใดๆ ระบบจะไม่สร้างรายการดัชนี หากเอกสารมีช่องที่จัดทำดัชนีอย่างน้อย 1 ช่อง ระบบจะสร้างรายการดัชนีโดยตั้งค่าช่องที่จัดทำดัชนีที่ไม่มีเป็น NULL

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

ดูข้อมูลเกี่ยวกับการกำหนดราคา