ขีดจำกัดของ Realtime Database

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

ทั่วโลก

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

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

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

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

*ขีดจำกัดของแพ็กเกจ Spark สำหรับการเชื่อมต่อพร้อมกันคือ 100 รายการ

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

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

ขนาดเหตุการณ์เดียวที่ทริกเกอร์โดยการเขียน 1 เมกะไบต์ ขนาดของเหตุการณ์ประกอบด้วยค่าต่อไปนี้
  1. ข้อมูลที่มีอยู่ที่ตำแหน่งการเขียน
  2. ค่าอัปเดต หรือเดลต้าในข้อมูลที่จำเป็นต่อการเขียนข้อมูลใหม่ลงในตำแหน่ง
การเขียนการดำเนินการที่มีขนาดใหญ่กว่า 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 สำหรับการดำเนินการอ่านแต่ละครั้ง

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

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

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

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

*การค้นหา 1 ครั้งในคอนโซล Firebase จะทํางานได้ไม่เกิน 5 วินาทีก่อนที่จะล้มเหลว

การเขียน

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