ต่อไปนี้คือข้อจำกัดในการจัดเก็บข้อมูลและการดำเนินการใน Firebase Realtime Database หากต้องการขยายเกินขีดจำกัดเหล่านี้ ให้ใช้ฐานข้อมูลหลายฐานข้อมูล
ทั่วโลก
การดำเนินการ | จำกัด | คำอธิบาย |
---|---|---|
การเชื่อมต่อพร้อมกัน | 200,000* | การเชื่อมต่อพร้อมกันเทียบเท่ากับอุปกรณ์เคลื่อนที่ แท็บเบราว์เซอร์ หรือแอปเซิร์ฟเวอร์หนึ่งเครื่องที่เชื่อมต่อกับฐานข้อมูล ซึ่งไม่เหมือนกับจำนวนผู้ใช้แอปของคุณทั้งหมด เนื่องจากผู้ใช้ของคุณไม่ได้เชื่อมต่อทั้งหมดพร้อมกัน ตัวอย่างเช่น แอพที่มีผู้ใช้งาน 10 ล้านรายต่อเดือนมักจะมีการเชื่อมต่อพร้อมกันน้อยกว่า 200,000 ครั้ง การเชื่อมต่อพร้อมกันสูงสุดของคุณขึ้นอยู่กับจำนวนผู้ใช้ทั้งหมดและเวลาเฉลี่ยที่ผู้ใช้ใช้ในแอปของคุณ อย่างไรก็ตาม หากคุณต้องการขยายเกินขีดจำกัดนี้ ให้ลอง ใช้ฐานข้อมูลหลายฐานข้อมูล *ขีดจำกัดของแผน Spark ในการเชื่อมต่อพร้อมกันคือ 100 |
การตอบกลับพร้อมกันที่ส่งจากฐานข้อมูลเดียว | ~100,000/วินาที | การตอบสนองรวมถึงการออกอากาศและการอ่านพร้อมกันที่ส่งโดยเซิร์ฟเวอร์จากฐานข้อมูลเดียวในเวลาที่กำหนด ขีดจำกัดหมายถึงแพ็กเก็ตข้อมูลที่แสดงถึงการดำเนินการอ่านหรือออกอากาศแต่ละรายการ รวมถึงการแจ้งเตือนแบบพุชที่ส่งจากฐานข้อมูล คำแนะนำนี้มีไว้สำหรับการโหลดที่ต่อเนื่อง แต่ฐานข้อมูลสามารถจัดการกับการระเบิดที่สูงขึ้นเป็นครั้งคราวได้ |
จำนวนของ Cloud Functions ที่ทริกเกอร์โดยการเขียนเพียงครั้งเดียว | 1,000; หรือสำหรับ Cloud Functions v2, 500 ต่อภูมิภาค | แม้ว่าจะไม่มีการจำกัดจำนวนการดำเนินการอ่านหรือเขียนที่คุณสามารถทริกเกอร์จากฟังก์ชันเดียว แต่การดำเนินการเขียนฐานข้อมูลเดียวสามารถทริกเกอร์ได้เพียง 1,000 ฟังก์ชัน หรือ 500 ฟังก์ชันต่อภูมิภาคสำหรับ Cloud Functions v2 ฟังก์ชันคลาวด์สามารถทริกเกอร์ได้โดยการดำเนินการเขียนเท่านั้น และแต่ละฟังก์ชันยังสามารถทริกเกอร์การดำเนินการเขียนเพิ่มเติมซึ่งทริกเกอร์ฟังก์ชันเพิ่มเติม (แต่ละฟังก์ชันมีขีดจำกัด 1,000 ฟังก์ชันหรือ 500 ฟังก์ชันต่อภูมิภาค) |
ขนาดของเหตุการณ์เดียวที่ทริกเกอร์โดยการเขียน | 1 ลบ | ขนาดของเหตุการณ์ประกอบด้วยค่าต่อไปนี้:
|
การถ่ายโอนข้อมูลไปยัง Cloud Functions | 10MB/วินาทีอย่างต่อเนื่อง | อัตราข้อมูลเหตุการณ์ที่สามารถส่งต่อไปยัง Cloud Functions |
ต้นไม้ข้อมูล
คุณสมบัติ | จำกัด | คำอธิบาย |
---|---|---|
ความลึกสูงสุดของโหนดย่อย | 32 | แต่ละเส้นทางในแผนผังข้อมูลของคุณต้องมีความลึกน้อยกว่า 32 ระดับ |
ความยาวของกุญแจ | 768 ไบต์ | คีย์เข้ารหัส UTF-8 และไม่สามารถขึ้นบรรทัดใหม่หรืออักขระใดๆ ต่อไปนี้: . $ # [ ] / หรืออักขระควบคุม ASCII (0x00 - 0x1F และ 0x7F) |
ขนาดสูงสุดของสตริง | 10 ลบ | ข้อมูลถูกเข้ารหัส UTF-8 |
อ่าน
คำอธิบาย | จำกัด | หมายเหตุ |
---|---|---|
ขนาดของการตอบกลับเดียวที่ให้บริการโดยฐานข้อมูล | 256 ลบ | ขนาดของข้อมูลที่ดาวน์โหลดจากฐานข้อมูลในตำแหน่งเดียวควรน้อยกว่า 256 MB สำหรับการดำเนินการอ่านแต่ละครั้ง หากต้องการดำเนินการอ่านในตำแหน่งที่ใหญ่กว่า ให้ลองตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้: |
โหนดทั้งหมดในเส้นทางที่มีผู้ฟังหรือแบบสอบถามอยู่ | 75 ล้าน* | คุณไม่สามารถฟังหรือค้นหาเส้นทางที่มีโหนดมากกว่า 75 ล้านโหนดได้ อย่างไรก็ตาม คุณยังสามารถฟังหรือค้นหาโหนดย่อยได้ ลองเจาะลึกเข้าไปในเส้นทางหรือสร้างผู้ฟังหรือแบบสอบถามแยกต่างหากสำหรับส่วนที่เฉพาะเจาะจงมากขึ้นของเส้นทาง *คุณไม่สามารถดูเส้นทางที่มีโหนดทั้งหมดมากกว่า 30,000 โหนดจากตัวแสดงข้อมูลในคอนโซล Firebase |
ระยะเวลาที่แบบสอบถามเดียวสามารถเรียกใช้ได้ | 15 นาที* | แบบสอบถามเดียวสามารถทำงานได้นานถึง 15 นาทีก่อนที่จะล้มเหลว *การค้นหาเดียวที่ดำเนินการในคอนโซล Firebase จะทำงานได้นานถึง 5 วินาทีก่อนที่จะล้มเหลว |
เขียน
คำอธิบาย | จำกัด | หมายเหตุ |
---|---|---|
อัตราการเขียน | 1,000 เขียน/วินาที | ขีดจำกัดในการดำเนินการเขียนต่อวินาทีบนฐานข้อมูลเดียว แม้ว่าจะไม่ใช่ขีดจำกัดตายตัว แต่ถ้าคุณรักษาการเขียนมากกว่า 1,000 ครั้งต่อวินาที กิจกรรมการเขียนของคุณอาจถูกจำกัดอัตรา |
ขนาดของคำขอเขียนเดียวไปยังฐานข้อมูล | 256 MB จาก REST API; 16 MB จาก SDK | ข้อมูลทั้งหมดในการดำเนินการเขียนแต่ละครั้งควรน้อยกว่า 256 MB การอัปเดตหลายเส้นทางขึ้นอยู่กับข้อจำกัดด้านขนาดเดียวกัน |
ไบต์ที่เขียน | 64 เมกะไบต์/นาที | จำนวนไบต์ทั้งหมดที่เขียนผ่านการดำเนินการเขียนพร้อมกันบนฐานข้อมูลในเวลาใดก็ตาม |