โหมดเนทีฟ: โควต้าและขีดจำกัด

หน้านี้อธิบายโควต้าคำขอและขีดจำกัดของรุ่น Enterprise สำหรับ Cloud Firestore ในโหมดเนทีฟ

การใช้งานระดับฟรี

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

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

ระดับฟรีใช้ได้กับฐานข้อมูล Cloud Firestore เพียง 1 รายการต่อโปรเจ็กต์ ฐานข้อมูลแรกที่สร้างในโปรเจ็กต์ที่ไม่มีฐานข้อมูลระดับฟรี จะได้รับระดับฟรี หากลบฐานข้อมูลที่ใช้ระดับฟรี ฐานข้อมูลถัดไปที่สร้างจะได้รับระดับฟรี

รุ่นฟรี โควต้า
ข้อมูลที่จัดเก็บ 1 GiB
อ่านหน่วย 50,000 ต่อวัน
หน่วยการอัปเดตแบบเรียลไทม์ 50,000 ต่อวัน
หน่วยการเขียน 40,000 ต่อวัน
การโอนข้อมูลขาออก 10 GiB ต่อเดือน

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

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

ฐานข้อมูล

ขีดจำกัด รายละเอียด
จำนวนฐานข้อมูลสูงสุดต่อโปรเจ็กต์

100

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

จำนวนสูงสุดของ ฐานข้อมูลคีย์การเข้ารหัสที่จัดการโดยลูกค้า (CMEK) ต่อโปรเจ็กต์

0

โดยค่าเริ่มต้น โควต้าจะเป็น 0 เนื่องจากฟีเจอร์นี้อยู่เบื้องหลังรายการที่อนุญาต คุณขอเพิ่มโควต้าได้โดยกรอกแบบฟอร์มคำขอสิทธิ์เข้าถึง CMEK

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

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

20

ฟิลด์แผนที่และอาร์เรย์จะเพิ่มระดับความลึกโดยรวมของออบเจ็กต์ 1 ระดับ ตัวอย่างเช่น ออบเจ็กต์ต่อไปนี้มีความลึกทั้งหมด 3 ระดับ


{
  nested_map: {         #depth 1
    nested_array: [     #depth 2
      {
        foo: "bar"      #depth 3
      }
    ]
  }
}
      

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

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

ดัชนี

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

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

40,000

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

7.5 KiB

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

8 MiB

Time to Live (TTL)

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

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

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

การดำเนินการนำเข้าและส่งออกที่มีการจัดการมีข้อจำกัดดังนี้

ขีดจำกัด รายละเอียด
จำนวนคำขอส่งออกและนำเข้าทั้งหมดสูงสุดสำหรับโปรเจ็กต์ที่อนุญาตต่อนาที 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 ราย
ขนาดสูงสุดของชุดกฎ ชุดกฎต้องมีขนาดไม่เกิน 2 ขีดจำกัดต่อไปนี้
  • จำกัดขนาดแหล่งที่มาของข้อความชุดกฎไว้ที่ 256 KB เผยแพร่จากคอนโซล Firebase หรือจาก CLI โดยใช้ firebase deploy
  • จำกัดขนาดของชุดกฎที่คอมไพล์แล้วซึ่งเป็นผลลัพธ์ที่ได้ไว้ที่ 250 KB เมื่อ Firebase ประมวลผลแหล่งที่มาและทำให้ใช้งานได้ใน แบ็กเอนด์