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

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

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

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

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

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

ระดับฟรี โควต้า
ข้อมูลที่จัดเก็บ 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 (เช่น ดู FieldPath ของ JavaScript)
ขนาดสูงสุดของเส้นทางของช่อง 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)

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

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