ใช้คู่มือนี้เพื่อทำความเข้าใจCloud Firestoreขีดจำกัด และดูCloud Firestoreการกำหนดราคาเพื่อดูคำอธิบายแบบละเอียดเกี่ยวกับ Cloud Firestoreค่าใช้จ่าย รวมถึงสิ่งที่ควรระวัง
ตรวจสอบการใช้งาน
หากต้องการตรวจสอบการใช้งาน Cloud Firestore ให้เปิดCloud Firestore แท็บการใช้งาน ในคอนโซล Firebase ใช้แดชบอร์ดเพื่อวัดการใช้งานในช่วงระยะเวลาต่างๆ
การใช้งานโดยละเอียดในคอนโซล Google Cloud
เมื่อสร้างโปรเจ็กต์ Firebase คุณจะสร้างGoogle Cloudโปรเจ็กต์ด้วย หน้าCloud Firestoreโควต้า API และApp Engineโควต้า ในคอนโซล Google Cloud จะติดตามการใช้งานและข้อมูลโควต้าของ Cloud Firestore
โควต้าฟรี
Cloud Firestore มีโควต้าฟรีที่ช่วยให้คุณเริ่มต้นใช้งานได้โดยไม่มีค่าใช้จ่าย จำนวนโควต้าฟรีแสดงอยู่ด้านล่าง หากต้องการโควต้าเพิ่มเติม คุณต้องเปิดใช้การเรียกเก็บเงินสำหรับGoogle Cloudโปรเจ็กต์
ระบบจะใช้โควต้าทุกวันและรีเซ็ตประมาณเที่ยงคืนตามเวลาแปซิฟิก
Firestore อนุญาตให้มีฐานข้อมูลฟรีได้เพียง 1 ฐานข้อมูลต่อโปรเจ็กต์
รุ่นฟรี | โควต้า |
---|---|
ข้อมูลที่จัดเก็บ | 1 GiB |
การอ่านเอกสาร | 50,000 ต่อวัน |
การเขียนเอกสาร | 20,000 ต่อวัน |
การลบเอกสาร | 20,000 ต่อวัน |
การโอนข้อมูลขาออก | 10 GiB ต่อเดือน |
การดำเนินการและฟีเจอร์ต่อไปนี้ไม่รวมการใช้งานฟรี คุณต้องเปิดใช้การเรียกเก็บเงินจึงจะใช้ฟีเจอร์ต่อไปนี้ได้
- การลบ TTL
- ข้อมูล PITR
- สำรองข้อมูล
- การดำเนินการกู้คืน
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีเรียกเก็บเงินสำหรับฟีเจอร์เหล่านี้ได้ที่ราคาพื้นที่เก็บข้อมูล
ขีดจำกัดมาตรฐาน
ตารางต่อไปนี้แสดงโควต้าที่ใช้กับ Cloud Firestore ขีดจำกัดเหล่านี้เป็นขีดจำกัดที่เปลี่ยนแปลงไม่ได้ เว้นแต่จะระบุไว้เป็นอย่างอื่น
ฐานข้อมูล
ขีดจำกัด | รายละเอียด |
---|---|
จำนวนฐานข้อมูลสูงสุดต่อโปรเจ็กต์ |
100 คุณสามารถติดต่อทีมสนับสนุนเพื่อขอเพิ่มขีดจำกัดนี้ |
คอลเล็กชัน เอกสาร และฟิลด์
ขีดจำกัด | รายละเอียด |
---|---|
ข้อจำกัดเกี่ยวกับรหัสคอลเล็กชัน |
|
ความลึกสูงสุดของคอลเล็กชันย่อย | 100 |
ข้อจำกัดเกี่ยวกับรหัสเอกสาร |
|
ขนาดสูงสุดสำหรับชื่อเอกสาร | 6 KiB |
ขนาดสูงสุดของเอกสาร | 1 MiB (1,048,576 ไบต์) |
ข้อจำกัดเกี่ยวกับชื่อฟิลด์ |
|
ขนาดสูงสุดของชื่อฟิลด์ | 1,500 ไบต์ |
ข้อจำกัดเกี่ยวกับเส้นทางฟิลด์ |
` ) เช่น foo.`x&y` หมายถึงฟิลด์ x&y ที่ซ้อนอยู่ภายใต้ฟิลด์ foo หากต้องการสร้างชื่อฟิลด์ด้วยเครื่องหมายแบ็กทิก ให้หลีกเลี่ยงเครื่องหมายแบ็กทิกด้วยเครื่องหมายแบ็กสแลช (\ ) เพื่อความสะดวก คุณสามารถหลีกเลี่ยงชื่อฟิลด์ที่ยกมาได้โดยการส่งเส้นทางฟิลด์เป็นออบเจ็กต์ FieldPath (เช่น ดู JavaScript FieldPath)
|
ขนาดสูงสุดของเส้นทางฟิลด์ | 1,500 ไบต์ |
ขนาดสูงสุดของค่าฟิลด์ | 1 MiB - 89 ไบต์ (1,048,487 ไบต์) |
ความลึกสูงสุดของฟิลด์ในแผนที่หรืออาร์เรย์ | 20 ฟิลด์แผนที่และอาร์เรย์จะเพิ่มระดับความลึกโดยรวมของออบเจ็กต์ ตัวอย่างเช่น ออบเจ็กต์ต่อไปนี้มีความลึกทั้งหมด 3 ระดับ
|
การเขียนและธุรกรรม
นอกจากขีดจำกัดเหล่านี้แล้ว คุณควรดูแนวทางปฏิบัติแนะนำในการออกแบบเพื่อการปรับขนาดด้วย
ขีดจำกัด | รายละเอียด |
---|---|
ขนาดคำขอ API สูงสุด | 10 MiB |
ขีดจำกัดเวลาสำหรับธุรกรรม | 270 วินาที โดยมีเวลาหมดอายุเมื่อไม่มีการใช้งาน 60 วินาที |
จำนวนการเปลี่ยนรูปแบบฟิลด์สูงสุดที่ทำได้ในเอกสารเดียวในการดำเนินการ Commit หรือในธุรกรรม |
500 |
ดัชนี
ดัชนีช่องเดียวและดัชนีผสมมีข้อจำกัดดังนี้
ขีดจำกัด | รายละเอียด |
---|---|
จำนวนสูงสุดของดัชนีผสมสำหรับฐานข้อมูล |
|
จำนวนสูงสุดของการกำหนดค่าฟิลด์เดียวสำหรับฐานข้อมูล |
การกำหนดค่าระดับฟิลด์ 1 รายการ สามารถมีการกำหนดค่าหลายรายการสำหรับฟิลด์เดียวกัน เช่น การยกเว้นการจัดทำดัชนีฟิลด์เดียวและนโยบาย TTL ในฟิลด์เดียวกัน จะนับเป็นการกำหนดค่าฟิลด์ 1 รายการในขีดจำกัด |
จำนวนรายการดัชนีสูงสุดสำหรับแต่ละเอกสาร |
40,000 จำนวนรายการดัชนีคือผลรวมของรายการต่อไปนี้สำหรับเอกสาร
หากต้องการดูวิธีที่ Cloud Firestore เปลี่ยนเอกสารและชุดดัชนีเป็นรายการดัชนี โปรดดูตัวอย่างการนับรายการดัชนีนี้ |
จำนวนฟิลด์สูงสุดในดัชนีผสม | 100 |
ขนาดสูงสุดของรายการดัชนี |
7.5 KiB หากต้องการดูวิธีที่ Cloud Firestore คำนวณขนาดรายการดัชนี โปรดดู ขนาดรายการดัชนี |
ผลรวมสูงสุดของขนาดรายการดัชนีของเอกสาร |
8 MiB ขนาดทั้งหมดคือผลรวมของรายการต่อไปนี้สำหรับเอกสาร |
ขนาดสูงสุดของค่าฟิลด์ที่จัดทำดัชนี |
1500 ไบต์ ระบบจะตัดค่าฟิลด์ที่ยาวเกิน 1,500 ไบต์ คําค้นหาที่เกี่ยวข้องกับ ค่าฟิลด์ที่ถูกตัดทอนอาจแสดงผลลัพธ์ที่ไม่สอดคล้องกัน |
Time to Live (TTL)
ขีดจำกัด | รายละเอียด |
---|---|
จำนวนสูงสุดของการกำหนดค่าฟิลด์เดียวสำหรับฐานข้อมูล |
การกำหนดค่าระดับฟิลด์ 1 รายการ สามารถมีการกำหนดค่าหลายรายการสำหรับฟิลด์เดียวกัน เช่น การยกเว้นการจัดทำดัชนีฟิลด์เดียวและนโยบาย TTL ในฟิลด์เดียวกัน จะนับเป็นการกำหนดค่าฟิลด์ 1 รายการในขีดจำกัด |
ส่งออก/นำเข้า
การดำเนินการนำเข้าและส่งออกที่มีการจัดการมีข้อจำกัดดังนี้
ขีดจำกัด | รายละเอียด |
---|---|
จำนวนคำขอส่งออกและนำเข้าทั้งหมดสูงสุดสำหรับโปรเจ็กต์ที่อนุญาตต่อนาที | 20 |
จำนวนการส่งออกและนำเข้าพร้อมกันสูงสุด | 50 |
จำนวนสูงสุดของตัวกรองรหัสคอลเล็กชันสำหรับคำขอส่งออกและนำเข้า | 100 |
กฎความปลอดภัย
ขีดจำกัด | รายละเอียด |
---|---|
จำนวนการเรียก exists() , get() และ getAfter() สูงสุดต่อคำขอ |
หากเกินขีดจำกัดใดขีดจำกัดหนึ่ง ระบบจะแสดงข้อผิดพลาด "ปฏิเสธสิทธิ์" ระบบอาจแคชการเรียกใช้การเข้าถึงเอกสารบางรายการ และการเรียกใช้ที่แคชจะไม่นับรวมในโควต้า |
ความลึกสูงสุดของคำสั่ง match ที่ซ้อนกัน |
10 |
ความยาวเส้นทางสูงสุดในส่วนเส้นทางที่อนุญาตภายในชุดคำสั่ง match ที่ซ้อนกัน |
100 |
จำนวนตัวแปรการบันทึกเส้นทางสูงสุดที่อนุญาตภายในชุดคำสั่ง match ที่ซ้อนกัน |
20 |
ความลึกสูงสุดของการเรียกใช้ฟังก์ชัน | 20 |
จำนวนอาร์กิวเมนต์ของฟังก์ชันสูงสุด | 7 |
จำนวนการเชื่อมโยงตัวแปร let สูงสุดต่อฟังก์ชัน |
10 |
จำนวนการเรียกฟังก์ชันแบบเรียกซ้ำหรือแบบวนซ้ำสูงสุด | 0 (ไม่อนุญาต) |
จำนวนสูงสุดของนิพจน์ที่ประเมินต่อคำขอ | 1,000 ราย |
ขนาดสูงสุดของชุดกฎ | ชุดกฎต้องมีขนาดไม่เกิน 2 ขีดจำกัดต่อไปนี้
|
จัดการการใช้จ่าย
ตั้งงบประมาณและการแจ้งเตือนรายเดือนเพื่อช่วยหลีกเลี่ยงการเรียกเก็บเงินที่ไม่คาดคิดในใบเรียกเก็บเงิน
กำหนดงบประมาณรายเดือน
หากต้องการติดตามCloud Firestoreค่าใช้จ่าย ให้สร้างงบประมาณรายเดือนในคอนโซล Google Cloud งบประมาณจะไม่จำกัดการใช้งาน แต่คุณสามารถตั้งค่าการแจ้งเตือนเพื่อ แจ้งให้ทราบเมื่อค่าใช้จ่ายใกล้ถึงหรือเกินค่าใช้จ่ายที่วางแผนไว้สำหรับ เดือน
หากต้องการตั้งงบประมาณ ให้ไปที่ส่วนการเรียกเก็บเงิน ในคอนโซล Google Cloud แล้วสร้างงบประมาณสำหรับบัญชี Cloud Billing คุณสามารถใช้การตั้งค่าการแจ้งเตือนเริ่มต้นหรือแก้ไข การแจ้งเตือนเพื่อส่งการแจ้งเตือนที่เปอร์เซ็นต์ต่างๆ ของงบประมาณรายเดือน
ดูข้อมูลเพิ่มเติมเกี่ยวกับ การตั้งค่างบประมาณและการแจ้งเตือนงบประมาณ