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

หน้านี้อธิบายถึงโควต้าคำขอและขีดจำกัดของ Enterprise Edition สำหรับ 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 (เช่น ดู 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)

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

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