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 Pricing สำหรับคำอธิบายโดยละเอียดเกี่ยวกับค่าใช้จ่าย Cloud Firestore รวมถึงสิ่งที่ควรระวัง

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

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

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

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

โควต้าฟรี

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

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

ฟรีเทียร์ โควต้า
ข้อมูลที่เก็บไว้ 1 GiB
อ่านเอกสาร 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 KiB
ขนาดสูงสุดสำหรับเอกสาร 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

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

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

ขีดจำกัดซอฟต์

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

ซอฟท์ลิมิต รายละเอียด
อัตราการเขียนต่อเนื่องสูงสุดไปยังเอกสาร

1 ต่อวินาที

การรักษาอัตราการเขียนที่สูงกว่าหนึ่งครั้งต่อวินาทีจะเพิ่มเวลาในการตอบสนองและทำให้เกิดข้อผิดพลาดในการโต้แย้ง นี่ไม่ใช่การจำกัดแบบตายตัว และคุณสามารถเกินขีดจำกัดในช็อตสั้นๆ

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

อัพเดทเรียลไทม์

ซอฟท์ลิมิต รายละเอียด
การเชื่อมต่อพร้อมกันสูงสุดสำหรับไคลเอนต์มือถือ/เว็บต่อฐานข้อมูล

1,000,000

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

ดัชนี

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

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

200

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

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

40,000

จำนวนรายการดัชนีคือผลรวมต่อไปนี้สำหรับเอกสาร:

  • จำนวนรายการดัชนีฟิลด์เดียว
  • จำนวนรายการดัชนีผสม

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

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

7.5 KiB

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

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

8 MiB

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

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

    1500 ไบต์

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

    ไทม์ทูไลฟ์ (TTL)

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

    200

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

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

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

    ขีดจำกัด รายละเอียด
    จำนวนรวมสูงสุดของคำขอส่งออกและนำเข้าสำหรับโครงการที่อนุญาตต่อนาที 20
    จำนวนการส่งออกและนำเข้าพร้อมกันสูงสุด 50
    จำนวนตัวกรองรหัสคอลเลกชันสูงสุดสำหรับคำขอส่งออกและนำเข้า 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 Firestore ให้กำหนดวงเงินใช้จ่ายรายวันผ่าน App Engine App Engine ให้คุณกำหนด วงเงินใช้จ่ายรายวัน สำหรับทรัพยากรที่เกี่ยวข้องกับ App Engine รวมถึง Cloud Firestore ขีดจำกัด App Engine ไม่มีผลกับผลิตภัณฑ์ Firebase อื่นๆ