ขีดจำกัดของฐานข้อมูลเรียลไทม์

ข้อจำกัดต่อไปนี้เป็นข้อจำกัดเกี่ยวกับพื้นที่เก็บข้อมูลและการดำเนินการกับข้อมูลใน Firebase Realtime Database หากต้องการปรับขนาดเกินขีดจํากัดเหล่านี้ ให้ใช้ฐานข้อมูลหลายแห่ง

ทั่วโลก

การดำเนินการ ขีดจำกัด คำอธิบาย
การเชื่อมต่อพร้อมกัน 200,000*

การเชื่อมต่อพร้อมกันเทียบเท่ากับอุปกรณ์เคลื่อนที่ แท็บเบราว์เซอร์ หรือแอปเซิร์ฟเวอร์ 1 เครื่องที่เชื่อมต่อกับฐานข้อมูล

ซึ่งไม่เหมือนกับจํานวนผู้ใช้ทั้งหมดของแอป เนื่องจากผู้ใช้ไม่ได้เชื่อมต่อพร้อมกันทั้งหมด เช่น แอปที่มีผู้ใช้ที่ใช้งานอยู่ 10 ล้านคนต่อเดือนมักจะมีการเชื่อมต่อพร้อมกันน้อยกว่า 200,000 ครั้ง จำนวนการเชื่อมต่อสูงสุดพร้อมกันจะขึ้นอยู่กับจำนวนผู้ใช้ทั้งหมดและเวลาเฉลี่ยที่ผู้ใช้ใช้ในแอป

แต่หากคุณจำเป็นต้องขยายขนาดเกินขีดจำกัดนี้ ให้ลองใช้การใช้ฐานข้อมูลหลายรายการ

*แพ็กเกจ Spark จำกัดการเชื่อมต่อพร้อมกันไว้ที่ 100 ครั้ง

คำตอบพร้อมกันที่ส่งจากฐานข้อมูลเดียว ~100,000/วินาที การตอบสนองรวมถึงการออกอากาศและการอ่านพร้อมกันที่เซิร์ฟเวอร์ส่งจากฐานข้อมูลเดียว ณ เวลาหนึ่งๆ ขีดจํากัดหมายถึงแพ็กเก็ตข้อมูลที่แสดงถึงการดำเนินการอ่านหรือการออกอากาศแต่ละรายการ ซึ่งรวมถึงข้อความ Push ที่ส่งจากฐานข้อมูล คำแนะนำนี้ใช้สำหรับภาระงานอย่างต่อเนื่อง แต่ฐานข้อมูลสามารถรองรับการเพิ่มขึ้นเป็นครั้งคราวได้
จํานวน Cloud Functions ที่ทริกเกอร์โดยการเขียนครั้งเดียว 1000 หรือสำหรับ Cloud Functions v2, 500 ต่อภูมิภาค แม้ว่าจะไม่มีการจํากัดจํานวนการดําเนินการอ่านหรือเขียนที่คุณสามารถทริกเกอร์จากฟังก์ชันเดียว แต่การดําเนินการเขียนฐานข้อมูล 1 ครั้งจะทริกเกอร์ฟังก์ชันได้เพียง 1,000 รายการ หรือ 500 รายการต่อภูมิภาคสําหรับ Cloud Functions v2

Cloud Functions จะทริกเกอร์ได้จากการดําเนินการเขียนเท่านั้น และแต่ละฟังก์ชันยังทริกเกอร์การดําเนินการเขียนเพิ่มเติมซึ่งจะทริกเกอร์ฟังก์ชันอื่นๆ ได้อีก (แต่ละฟังก์ชันมีขีดจํากัด 1, 000 ฟังก์ชันหรือ 500 ฟังก์ชันต่อภูมิภาค)

ขนาดของเหตุการณ์เดียวที่ทริกเกอร์โดยการเขียน 1 MB ขนาดของเหตุการณ์ประกอบด้วยค่าต่อไปนี้
  1. ข้อมูลที่มีอยู่ที่ตำแหน่งเขียน
  2. ค่าการอัปเดตหรือค่า Delta ของข้อมูลที่จําเป็นในการเขียนข้อมูลใหม่ไปยังตำแหน่ง
การดำเนินการเขียนที่มีขนาดใหญ่กว่า 1 MB จะดำเนินการในฐานข้อมูลได้สําเร็จ แต่ไม่ทริกเกอร์การเรียกใช้ฟังก์ชัน
การโอนข้อมูลไปยัง Cloud Functions ต่อเนื่อง 10 MB/วินาที อัตราข้อมูลเหตุการณ์ที่ส่งต่อไปยัง Cloud Functions ได้

โครงสร้างข้อมูล

พร็อพเพอร์ตี้ ขีดจำกัด คำอธิบาย
ความลึกสูงสุดของโหนดย่อย 32 เส้นทางแต่ละเส้นทางในลําดับชั้นข้อมูลต้องมีความลึกไม่เกิน 32 ระดับ
ความยาวของคีย์ 768 ไบต์ คีย์จะเข้ารหัส UTF-8 และไม่มีบรรทัดใหม่หรืออักขระต่อไปนี้
$ # [ ] / หรืออักขระควบคุม ASCII (0x00 - 0x1F และ 0x7F)
ขนาดสูงสุดของสตริง 10 MB ข้อมูลได้รับการเข้ารหัส UTF-8

การอ่าน

คำอธิบาย ขีดจำกัด หมายเหตุ
ขนาดของการตอบกลับรายการเดียวที่แสดงโดยฐานข้อมูล 256 MB ข้อมูลที่ดาวน์โหลดจากฐานข้อมูลในตำแหน่งที่ตั้งเดียวควรมีขนาดเล็กกว่า 256 MB สำหรับการดำเนินการอ่านแต่ละรายการ

หากต้องการดำเนินการอ่านในตำแหน่งที่ใหญ่ขึ้น ให้ลองใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้

จำนวนโหนดทั้งหมดในเส้นทางที่มี Listeners หรือ Query ผู้ใช้ 75 ล้านคน* คุณไม่สามารถฟังหรือค้นหาเส้นทางที่มีโหนดรวมกันมากกว่า 75 ล้านโหนด แต่คุณจะยังฟังหรือค้นหาโหนดย่อยได้ ลองเจาะลึกเส้นทางเพิ่มเติมหรือสร้าง Listener หรือคําค้นหาแยกต่างหากสําหรับส่วนต่างๆ ของเส้นทางที่เฉพาะเจาะจงมากขึ้น

*คุณดูเส้นทางที่มีโหนดทั้งหมดมากกว่า 30,000 โหนดจากเครื่องมือดูข้อมูลในFirebaseคอนโซลไม่ได้

ระยะเวลาที่การค้นหารายการเดียวทํางานได้ 15 นาที* การค้นหารายการเดียวจะทํางานได้นานสูงสุด 15 นาทีก่อนที่จะดำเนินการไม่สำเร็จ

*การค้นหารายการเดียวที่ดำเนินการในคอนโซล Firebase จะทํางานได้สูงสุด 5 วินาทีก่อนที่จะดำเนินการไม่สำเร็จ

การเขียน

คำอธิบาย ขีดจำกัด หมายเหตุ
อัตราการเขียน การเขียน 1,000 ครั้ง/วินาที ขีดจํากัดของการดำเนินการเขียนต่อวินาทีในฐานข้อมูลเดียว แม้ว่าจะไม่ได้เป็นขีดจำกัดที่เข้มงวด แต่หากคุณเขียนมากกว่า 1,000 ครั้งต่อวินาทีอย่างต่อเนื่อง กิจกรรมการเขียนอาจถูกจำกัดอัตราการดำเนินการ
ขนาดของคําขอเขียนรายการเดียวไปยังฐานข้อมูล 256 MB จาก REST API และ 16 MB จาก SDK ข้อมูลทั้งหมดในการดำเนินการเขียนแต่ละครั้งควรมีขนาดเล็กกว่า 256 MB การอัปเดตหลายเส้นทางจะขึ้นอยู่กับข้อจำกัดด้านขนาดเดียวกัน
ไบต์ที่เขียนแล้ว 64 MB/นาที จำนวนไบต์ทั้งหมดที่เขียนผ่านการดำเนินการเขียนพร้อมกันในฐานข้อมูล ณ เวลาหนึ่งๆ