ใช้คู่มือนี้เพื่อทำความเข้าใจขีดจำกัดของ Cloud Firestore และดูราคาของ Cloud Firestore เพื่อดูคำอธิบายโดยละเอียดเกี่ยวกับค่าใช้จ่ายของ Cloud Firestore รวมถึงสิ่งที่ควรระวัง
ตรวจสอบการใช้งาน
หากต้องการตรวจสอบการใช้งาน Cloud Firestore จากคอนโซล Firebase ให้ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > Firestore > แท็บการใช้งาน ใช้แดชบอร์ดนี้เพื่อประเมินการใช้งานในระยะเวลาต่างๆ
การใช้งานโดยละเอียดในคอนโซล Google Cloud
เมื่อสร้างโปรเจ็กต์ Firebase คุณจะสร้างโปรเจ็กต์ Google Cloud ด้วย หน้าโควต้า API ของ Cloud Firestore และโควต้าของ App Engine ในคอนโซล Google Cloud จะติดตามข้อมูลการใช้งานและโควต้าของ Cloud Firestore
โควต้าฟรี
Cloud Firestore มีโควต้าฟรีที่ช่วยให้คุณเริ่มต้นใช้งานได้โดยไม่มีค่าใช้จ่าย หากต้องการโควต้าเพิ่มเติม คุณต้องเปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ Google Cloud
โควต้าจะใช้เป็นรายวันและรีเซ็ตประมาณเที่ยงคืนตามเวลาแปซิฟิก
ตารางต่อไปนี้สรุปจำนวนโควต้าฟรี
| รุ่นฟรี | โควต้า |
|---|---|
| ข้อมูลที่จัดเก็บไว้ | 1 GiB |
| การอ่านเอกสาร | 50,000 คนต่อวัน |
| การเขียนเอกสาร | 20,000 รายการต่อวัน |
| การลบเอกสาร | 20,000 รายการต่อวัน |
| การโอนข้อมูลขาออก | 10 GiB ต่อเดือน |
การดำเนินการและฟีเจอร์ต่อไปนี้ไม่มีการใช้งานฟรี คุณต้องเปิดใช้การเรียกเก็บเงินเพื่อใช้ฟีเจอร์ต่อไปนี้
- การลบ TTL
- ข้อมูล PITR
- ข้อมูลสำรอง
- การดำเนินการกู้คืน
- การดำเนินการโคลน
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเรียกเก็บเงินสำหรับฟีเจอร์เหล่านี้ได้ที่ราคาพื้นที่เก็บข้อมูล
ขีดจำกัดมาตรฐาน
ตารางต่อไปนี้แสดงขีดจำกัดที่ใช้กับ Cloud Firestore ขีดจำกัดเหล่านี้เป็นขีดจำกัดที่เปลี่ยนแปลงไม่ได้ เว้นแต่จะระบุไว้เป็นอย่างอื่น
ฐานข้อมูล
| ขีดจำกัด | รายละเอียด |
|---|---|
| จำนวนฐานข้อมูลสูงสุดต่อโปรเจ็กต์ |
100 คุณสามารถติดต่อทีมสนับสนุนเพื่อขอเพิ่มขีดจำกัดนี้ได้ |
| จำนวนสูงสุดของฐานข้อมูลคีย์การเข้ารหัสที่จัดการโดยลูกค้า (CMEK) ต่อโปรเจ็กต์ |
0 โดยค่าเริ่มต้น โควต้าจะเป็น 0 เนื่องจากฟีเจอร์นี้อยู่หลังรายการที่อนุญาต คุณสามารถขอเพิ่มโควต้าได้โดยกรอกแบบฟอร์มคำขอเข้าถึง CMEK |
คอลเล็กชัน เอกสาร และฟิลด์
| ขีดจำกัด | รายละเอียด |
|---|---|
| ข้อจำกัดเกี่ยวกับรหัสคอลเล็กชัน |
|
| ความลึกสูงสุดของคอลเล็กชันย่อย | 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 ช่องแผนที่และอาร์เรย์จะเพิ่มความลึกโดยรวมของออบเจ็กต์ 1 ระดับ ตัวอย่างเช่น ออบเจ็กต์ต่อไปนี้มีความลึกทั้งหมด 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 คุณสามารถใช้การตั้งค่าการแจ้งเตือนเริ่มต้นหรือแก้ไขการแจ้งเตือนเพื่อส่งการแจ้งเตือนเมื่อใช้งบประมาณรายเดือนถึงเปอร์เซ็นต์ต่างๆ ได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่างบประมาณและการแจ้งเตือนงบประมาณ