ต่อไปนี้เป็นข้อจำกัดในการจัดเก็บข้อมูลและการดำเนินการใน Firebase Realtime Database หากต้องการปรับขนาดเกินขีดจํากัดเหล่านี้ ให้ใช้ฐานข้อมูลหลายแห่ง
ทั่วโลก
การดำเนินการ | ขีดจำกัด | คำอธิบาย |
---|---|---|
การเชื่อมต่อพร้อมกัน | 200,000* | การเชื่อมต่อพร้อมกันเทียบเท่ากับอุปกรณ์เคลื่อนที่ แท็บเบราว์เซอร์ หรือแอปเซิร์ฟเวอร์ 1 เครื่องที่เชื่อมต่อกับฐานข้อมูล ซึ่งไม่เหมือนกับ จำนวนผู้ใช้ทั้งหมดของแอป เนื่องจาก ผู้ใช้บางคนไม่สามารถทำการเชื่อมต่อพร้อมกันทั้งหมด เช่น แอปที่มีจำนวน 10 ล้านครั้งต่อเดือน ผู้ใช้ที่ใช้งานอยู่มักจะมีการเชื่อมต่อพร้อมกันน้อยกว่า 200,000 รายการ ราคาเสนอ CPC การเชื่อมต่อพร้อมกันขึ้นอยู่กับจำนวนผู้ใช้ทั้งหมดและเวลาเฉลี่ย ที่ผู้ใช้ใช้จ่ายในแอป อย่างไรก็ตาม หากต้องการปรับขนาดเกินขีดจํากัดนี้ ให้ลองใช้ฐานข้อมูลหลายแห่ง *แพ็กเกจ Spark จำกัดการเชื่อมต่อพร้อมกันไว้ที่ 100 ครั้ง |
คำตอบพร้อมกันที่ส่งจากฐานข้อมูลเดียว | ประมาณ 100,000/วินาที | โดยการตอบกลับจะรวมถึงการเผยแพร่พร้อมกันและการดําเนินการอ่านที่ส่งโดย เซิร์ฟเวอร์จากฐานข้อมูลเดียวในช่วงเวลาที่ระบุ ขีดจํากัดดังกล่าวหมายถึงข้อมูล แพ็กเก็ตที่แสดงการดำเนินการอ่านหรือออกอากาศแต่ละครั้ง รวมถึง ข้อความ Push ที่ส่งจากฐานข้อมูล คำแนะนำนี้มีไว้สำหรับการโหลดที่ต่อเนื่อง แต่ฐานข้อมูลสามารถรับมือกับการระเบิดที่สูงขึ้นได้ในบางครั้ง |
จำนวน Cloud Functions ที่ทริกเกอร์โดยการเขียนรายการเดียว | 1000; หรือสำหรับ Cloud Functions v2, 500 ต่อภูมิภาค | แม้จะไม่มีการจำกัดจำนวนการดำเนินการอ่านหรือเขียนที่คุณสามารถดำเนินการได้
จากฟังก์ชันเดียว การเขียนฐานข้อมูลเพียงรายการเดียว
ทริกเกอร์ 1, 000 ฟังก์ชัน หรือ 500 ฟังก์ชันต่อภูมิภาคสำหรับ Cloud Functions v2
Cloud Functions จะทริกเกอร์ได้ด้วยการดำเนินการเขียนเท่านั้น และแต่ละ ยังสามารถทริกเกอร์การดำเนินการเขียนเพิ่มเติมที่จะทริกเกอร์ฟังก์ชันเพิ่มเติม (แต่ละฟังก์ชันมีขีดจำกัด 1,000 ฟังก์ชัน หรือ 500 ฟังก์ชันต่อภูมิภาค) |
ขนาดของเหตุการณ์เดียวที่ทริกเกอร์โดยการเขียน | 1 เมกะไบต์ | ขนาดของเหตุการณ์ประกอบด้วยค่าต่อไปนี้
|
การโอนข้อมูลไปยัง 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/นาที | จำนวนไบต์ทั้งหมดที่เขียนผ่านการดำเนินการเขียนแบบพร้อมกันใน ฐานข้อมูล ณ เวลาใดเวลาหนึ่ง |