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

หน้านี้อธิบายโควต้าคำขอและขีดจำกัดของรุ่น 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
ขีดจำกัดหน่วยความจำสำหรับคำค้นหา 128 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 ประมวลผลแหล่งที่มาและทำให้ใช้งานได้ใน แบ็กเอนด์

ขีดจำกัดของการค้นหาที่บันทึกไว้

ค่า ขีดจำกัด
จำนวนการค้นหาที่บันทึกไว้สูงสุดต่อโปรเจ็กต์ (รวมถึงการค้นหาที่บันทึกไว้สำหรับผลิตภัณฑ์อื่นๆ ของ Google Cloud) 10,000
ขนาดสูงสุดสำหรับการค้นหาแต่ละครั้ง 1 MiB