Catch up on highlights from Firebase at Google I/O 2023. Learn more

การใช้งานและข้อจำกัด

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

ตรวจสอบการใช้งานของคุณ

หากต้องการตรวจสอบการใช้งาน Cloud Firestore ให้เปิด แท็บ การใช้งาน Cloud Firestore ในคอนโซล Firebase ใช้แดชบอร์ดเพื่อวัดการใช้งานของคุณในช่วงเวลาต่างๆ

การใช้งานโดยละเอียดใน Google Cloud Console

เมื่อคุณสร้างโปรเจ็กต์ Firebase คุณกำลังสร้างโปรเจ็กต์ Google Cloud ด้วย หน้า โควต้า Cloud Firestore API และ โควต้า App Engine ใน Google Cloud Console ติดตามการใช้งาน Cloud Firestore และข้อมูลโควต้า

โควต้าฟรี

Cloud Firestore เสนอโควต้าฟรีที่ให้คุณเริ่มต้นได้โดยไม่มีค่าใช้จ่าย จำนวนโควต้าฟรีแสดงอยู่ด้านล่าง หากคุณต้องการโควต้าเพิ่มเติม คุณต้อง เปิดใช้การเรียกเก็บเงินสำหรับโครงการ Cloud Platform

ใช้โควต้าทุกวันและรีเซ็ตประมาณเที่ยงคืนตามเวลาแปซิฟิก

ชั้นฟรี โควต้า
ข้อมูลที่เก็บไว้ 1 กิกะไบต์
อ่านเอกสาร 50,000 ต่อวัน
เขียนเอกสาร 20,000 ต่อวัน
ลบเอกสาร 20,000 ต่อวัน
เครือข่ายขาออก 10 GiB ต่อเดือน

ขีดจำกัดมาตรฐาน

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

คอลเลกชัน เอกสาร และฟิลด์

จำกัด รายละเอียด
ข้อจำกัดเกี่ยวกับรหัสคอลเลกชัน
  • ต้องเป็นอักขระ UTF-8 ที่ถูกต้อง
  • ต้องมีความยาวไม่เกิน 1,500 ไบต์
  • ไม่สามารถมีเครื่องหมายทับ ( / )
  • ไม่สามารถประกอบด้วยช่วงเวลาเดียว ( . ) หรือสองช่วงเวลา ( .. )
  • ไม่สามารถจับคู่นิพจน์ทั่วไป __.*__
ความลึกสูงสุดของคอลเลกชันย่อย 100
ข้อจำกัดเกี่ยวกับ ID เอกสาร
  • ต้องเป็นอักขระ UTF-8 ที่ถูกต้อง
  • ต้องมีความยาวไม่เกิน 1,500 ไบต์
  • ไม่สามารถมีเครื่องหมายทับ ( / )
  • ไม่สามารถประกอบด้วยช่วงเวลาเดียว ( . ) หรือสองช่วงเวลา ( .. )
  • ไม่สามารถจับคู่นิพจน์ทั่วไป __.*__
  • หากคุณนำเข้าเอนทิตี Datastore ไปยังฐานข้อมูล Firestore รหัสเอนทิตีที่เป็นตัวเลขจะแสดงเป็น __id[0-9]+__
ขนาดสูงสุดสำหรับชื่อเอกสาร 6 กิโลไบต์
ขนาดสูงสุดสำหรับเอกสาร 1 MiB (1,048,576 ไบต์)
ข้อจำกัดของชื่อเขตข้อมูล ต้องเป็นอักขระ UTF-8 ที่ถูกต้อง
ขนาดสูงสุดของชื่อฟิลด์ 1,500 ไบต์
ข้อจำกัดบนเส้นทางของสนาม
  • ต้องคั่นชื่อฟิลด์ด้วยจุดเดียว ( . )
  • อาจถูกส่งผ่านเป็นสตริงเมื่อชื่อฟิลด์ทั้งหมดในพาธเป็นแบบง่าย มิฉะนั้น จะต้องส่งผ่านเป็นวัตถุ FieldPath ( เช่น JavaScript FieldPath )
ชื่อเขตข้อมูลอย่างง่ายคือชื่อที่ทุกข้อต่อไปนี้เป็นจริง:
  • มีเฉพาะอักขระ az , AZ , 0-9 และขีดล่าง ( _ )
  • ไม่ได้ขึ้นต้นด้วย 0-9
ขนาดสูงสุดของเส้นทางฟิลด์ 1,500 ไบต์
ขนาดสูงสุดของค่าฟิลด์ 1 MiB - 89 ไบต์ (1,048,487 ไบต์)
ความชัดลึกสูงสุดของฟิลด์ในแผนที่หรืออาร์เรย์ 20

การเขียนและการทำธุรกรรม

นอกจากข้อจำกัดเหล่านี้แล้ว คุณควรดู แนวทางปฏิบัติที่ดีที่สุดสำหรับการออกแบบสำหรับขนาด

จำกัด รายละเอียด
ขนาดคำขอ API สูงสุด 10 มิบ
จำนวนการแปลงฟิลด์สูงสุดที่สามารถดำเนินการได้ในเอกสารเดียวในการดำเนินการ Commit หรือในธุรกรรม 500
กำหนดเวลาสำหรับการทำธุรกรรม 270 วินาที โดยมีเวลาหมดอายุที่ไม่ได้ใช้งาน 60 วินาที

ขีด จำกัด อ่อน

Cloud Firestore ไม่ได้หยุดคุณไม่ให้เกินเกณฑ์ด้านล่าง แต่การทำเช่นนั้นจะส่งผลต่อประสิทธิภาพการทำงาน

วงเงินอ่อน รายละเอียด
อัตราการเขียนสูงสุดไปยังคอลเลกชันที่เอกสารมีค่าตามลำดับในเขตข้อมูลที่จัดทำดัชนี 500 ต่อวินาที

ดัชนี

ข้อจำกัดต่อไปนี้ใช้กับ ดัชนีช่องเดียว และ ดัชนีผสม :

จำกัด รายละเอียด
จำนวนดัชนีผสมสูงสุดสำหรับฐานข้อมูล

200

คุณสามารถ ติดต่อฝ่ายสนับสนุน เพื่อขอเพิ่มขีดจำกัดนี้ได้

จำนวนการกำหนดค่าฟิลด์เดียวสูงสุดสำหรับฐานข้อมูล

200

อนุญาตให้มีการกำหนดค่าระดับฟิลด์ทั้งหมด 200 รายการ การกำหนดค่าหนึ่งฟิลด์สามารถมีการกำหนดค่าหลายรายการสำหรับฟิลด์เดียวกัน ตัวอย่างเช่น การยกเว้นการจัดทำดัชนีช่องเดียวและนโยบาย TTL ในช่องเดียวกันจะนับเป็นการกำหนดค่าช่องเดียวในขีดจำกัด

จำนวนรายการดัชนีสูงสุดสำหรับแต่ละเอกสาร

40,000

จำนวนรายการดัชนีเป็นผลรวมของเอกสารต่อไปนี้:

  • จำนวนรายการดัชนีเขตข้อมูลเดียว
  • จำนวนรายการดัชนีผสม

หากต้องการดูวิธีที่ Cloud Firestore เปลี่ยนเอกสารและชุดของดัชนีเป็นรายการดัชนี โปรดดู ตัวอย่างการนับรายการดัชนีนี้

จำนวนฟิลด์สูงสุดในดัชนีผสม 100
ขนาดสูงสุดของรายการดัชนี

7.5 กิโลไบต์

หากต้องการดูว่า Cloud Firestore คำนวณขนาดรายการดัชนีอย่างไร โปรดดู ขนาดรายการดัชนี

ผลรวมสูงสุดของขนาดรายการดัชนีของเอกสาร

8 มิบ

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

  • ผลรวมของขนาดของรายการดัชนีเขตข้อมูลเดียวของเอกสาร
  • ผลรวมของขนาดของรายการดัชนีผสมของเอกสาร
  • ขนาดสูงสุดของค่าฟิลด์ที่จัดทำดัชนี

    1500 ไบต์

    ค่าฟิลด์ที่มากกว่า 1500 ไบต์จะถูกตัดทอน ข้อความค้นหาที่เกี่ยวข้องกับค่าของฟิลด์ที่ถูกตัดทอนอาจส่งกลับผลลัพธ์ที่ไม่สอดคล้องกัน

    เวลาที่จะมีชีวิตอยู่ (TTL)

    จำกัด รายละเอียด
    จำนวนการกำหนดค่าฟิลด์เดียวสูงสุดสำหรับฐานข้อมูล

    200

    อนุญาตให้มีการกำหนดค่าระดับฟิลด์ทั้งหมด 200 รายการ การกำหนดค่าหนึ่งฟิลด์สามารถมีการกำหนดค่าหลายรายการสำหรับฟิลด์เดียวกัน ตัวอย่างเช่น การยกเว้นการจัดทำดัชนีช่องเดียวและนโยบาย TTL ในช่องเดียวกันจะนับเป็นการกำหนดค่าช่องเดียวในขีดจำกัด

    ส่งออกนำเข้า

    ข้อจำกัดต่อไปนี้ใช้กับ การดำเนินการนำเข้าและส่งออกที่มีการจัดการ :

    จำกัด รายละเอียด
    จำนวนรวมสูงสุดของคำขอส่งออกและนำเข้าสำหรับโครงการที่อนุญาตต่อนาที 20
    จำนวนการส่งออกและนำเข้าพร้อมกันสูงสุด 50
    จำนวนตัวกรอง ID การรวบรวมสูงสุดสำหรับคำขอส่งออกและนำเข้า 100

    กฎความปลอดภัย

    จำกัด รายละเอียด
    จำนวนสูงสุดของการเรียก exists() , get() และ getAfter() ต่อคำขอ
    • 10 สำหรับคำขอเอกสารเดี่ยวและคำขอเคียวรี
    • 20 สำหรับการอ่านหลายเอกสาร ธุรกรรม และการเขียนเป็นชุด ขีดจำกัด 10 ก่อนหน้านี้ใช้กับการดำเนินการแต่ละครั้งด้วย

      ตัวอย่างเช่น สมมติว่าคุณสร้างคำขอเขียนแบบกลุ่มที่มีการดำเนินการเขียน 3 ครั้ง และกฎความปลอดภัยของคุณใช้การเรียกใช้การเข้าถึงเอกสาร 2 ครั้งเพื่อตรวจสอบความถูกต้องของการเขียนแต่ละครั้ง ในกรณีนี้ การเขียนแต่ละครั้งใช้การเรียกใช้การเข้าถึง 2 จาก 10 ครั้ง และคำขอเขียนแบบแบทช์ใช้การเรียกใช้การเข้าถึง 6 จาก 20 ครั้ง

    เกินขีด จำกัด ส่งผลให้เกิดข้อผิดพลาดในการอนุญาตการปฏิเสธ

    การเรียกใช้การเข้าถึงเอกสารบางรายการอาจถูกแคช และการเรียกที่แคชจะไม่นับรวมในขีดจำกัด

    ความลึกของคำสั่ง match ที่ซ้อนกันสูงสุด 10
    ความยาวเส้นทางสูงสุด ในส่วนเส้นทาง อนุญาตภายในชุดคำสั่งการ match ที่ซ้อนกัน 100
    จำนวนสูงสุดของตัวแปรการดักจับพาธที่อนุญาตภายในชุดคำสั่งการ match ที่ซ้อนกัน 20
    ความลึกของการเรียกใช้ฟังก์ชันสูงสุด 20
    จำนวนอาร์กิวเมนต์ของฟังก์ชันสูงสุด 7
    จำนวนสูงสุดของการโยงตัวแปร let ต่อฟังก์ชัน 10
    จำนวนสูงสุดของการเรียกใช้ฟังก์ชันแบบวนซ้ำหรือแบบวนรอบ 0 (ไม่อนุญาต)
    จำนวนนิพจน์สูงสุดที่ประเมินต่อคำขอ 1,000
    ขนาดสูงสุดของชุดกฎ ชุดกฎต้องเป็นไปตามขีดจำกัดขนาดสองข้อ:
    • ขีดจำกัด 256 KB สำหรับขนาดของแหล่งข้อความชุดกฎที่เผยแพร่จากคอนโซล Firebase หรือจาก CLI โดยใช้ firebase deploy
    • ขีดจำกัด 250 KB สำหรับขนาดของชุดกฎที่คอมไพล์ซึ่งส่งผลให้เมื่อ Firebase ประมวลผลซอร์สและทำให้แอ็คทีฟบนแบ็คเอนด์

    จัดการการใช้จ่าย

    เพื่อช่วยหลีกเลี่ยงการเรียกเก็บเงินที่ไม่คาดคิด ให้ตั้งงบประมาณรายเดือนและการแจ้งเตือน

    กำหนดงบประมาณรายเดือน

    หากต้องการติดตามค่าใช้จ่าย Cloud Firestore ให้สร้างงบประมาณรายเดือนใน Google Cloud Console งบประมาณจะไม่จำกัดการใช้งานของคุณ แต่คุณสามารถตั้งค่าการแจ้งเตือนเพื่อแจ้งให้คุณทราบเมื่อคุณใกล้จะถึงหรือเกินค่าใช้จ่ายที่วางแผนไว้สำหรับเดือนนั้น

    หากต้องการกำหนดงบประมาณ ให้ไปที่ส่วน การเรียกเก็บเงิน ใน Google Cloud Console และสร้างงบประมาณสำหรับบัญชีการเรียกเก็บเงินใน Cloud ของคุณ คุณสามารถใช้การตั้งค่าการแจ้งเตือนเริ่มต้นหรือแก้ไขการแจ้งเตือนเพื่อส่งการแจ้งเตือนในเปอร์เซ็นต์ต่างๆ ของงบประมาณรายเดือนของคุณ

    เรียนรู้เพิ่มเติมเกี่ยวกับ การตั้งค่างบประมาณและการแจ้งเตือนงบประมาณ

    กำหนดวงเงินใช้จ่ายรายวัน

    หากต้องการจำกัดการใช้งาน Cloud Firestore ให้กำหนดวงเงินใช้จ่ายรายวันผ่าน App Engine App Engine ช่วยให้คุณกำหนด วงเงินใช้จ่ายรายวัน สำหรับทรัพยากรที่เกี่ยวข้องกับ App Engine รวมถึง Cloud Firestore ขีดจำกัดของ App Engine ใช้ไม่ได้กับผลิตภัณฑ์ Firebase อื่นๆ