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

หน้านี้อธิบายโควต้าคำขอและขีดจำกัดของรุ่น 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 ไบต์
  • ต้องไม่มีเครื่องหมายทับ (/)
  • ต้องไม่ประกอบด้วยจุดเดียว (.) หรือจุด 2 จุด (..) เท่านั้น
  • ไม่สามารถจับคู่นิพจน์ทั่วไป __.*__
ความลึกสูงสุดของคอลเล็กชันย่อย 100
ข้อจำกัดเกี่ยวกับรหัสเอกสาร
  • ต้องเป็นอักขระ UTF-8 ที่ถูกต้อง
  • ต้องมีความยาวไม่เกิน 1,500 ไบต์
  • ต้องไม่มีเครื่องหมายทับ (/)
  • ต้องไม่ประกอบด้วยจุดเดียว (.) หรือจุด 2 จุด (..) เท่านั้น
  • ไม่สามารถจับคู่นิพจน์ทั่วไป __.*__
  • หากคุณนำเข้าเอนทิตี 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
  • จำกัดขนาดของชุดกฎที่คอมไพล์แล้วซึ่งเป็นผลลัพธ์ที่ได้เมื่อ Firebase ประมวลผลแหล่งที่มาและทำให้ใช้งานได้ในแบ็กเอนด์ที่ 250 KB