Điều này post nói rằng FireBase sẽ gặp sự cố khi một nút riêng lẻ bắt đầu có từ 1 đến 10 triệu trẻ em. Làm cách nào một người dùng nên xử lý Người dùng trong ứng dụng nếu chúng tôi có hơn 10 triệu người? Trong tất cả các ví dụ tôi mặc dù Người dùng chỉ đơn giản là trẻ em của một nút "Người dùng".Giới hạn khả năng mở rộng Firebase
Trả lời
Firebase không lý tưởng để xử lý danh sách các mục dài. Vấn đề với những danh sách dài này không lưu trữ nhiều dữ liệu vì nó đang truy cập dữ liệu.
Bất cứ khi nào bạn truy cập danh sách (ví dụ: ref.child('users').on(...
) Firebase phải xem xét tất cả các mục trong danh sách đó trên máy chủ; ngay cả khi bạn chỉ tải xuống một vài người dùng (.limitToLast(10)
), nó phải xem xét từng người dùng.
Nhưng miễn là bạn không bao giờ cố gắng truy cập vào danh sách, bạn có thể lưu trữ bao nhiêu người dùng dưới đó tùy thích. Nhưng điều đó có nghĩa là bạn luôn truy cập trực tiếp, ví dụ: ref.child('users').child(auth.uid).on(...
.
Điều này giới hạn các trường hợp sử dụng mà bạn có thể triển khai, vì vậy các nhà phát triển thường tạo danh sách người dùng phụ theo cách họ cần sử dụng chúng. Ví dụ: nếu mỗi người dùng đang giữ danh sách bạn bè, bạn có thể giữ lại những người như ref.child('users_friends').child(auth.id).on(...
và xem từng người trong số họ một lần nữa với ref.child('users').child(auth.uid)
. Bằng cách đó, bạn chỉ đọc một danh sách nhỏ người dùng và sau đó tải từng người dùng một cách trực tiếp.
- 1. Khả năng mở rộng DotNetNuke
- 2. Khả năng mở rộng MSMQ
- 3. Khả năng mở rộng là Cầu cảng?
- 4. Mẹo CEDET khả năng mở rộng
- 5. Khả năng mở rộng dịch vụ Azure
- 6. Khả năng mở rộng của các mẫu variadic
- 7. Mở rộng ứng dụng trên các giới hạn iOS8
- 8. Ngăn xếp công nghệ có khả năng mở rộng cao
- 9. Nghiên cứu điển hình về khả năng mở rộng
- 10. Khả năng mở rộng là ZeroMQ như thế nào?
- 11. Khả năng mở rộng của ứng dụng Meteor
- 12. ExpandableListView - Có khả năng mở rộng có điều kiện không?
- 13. Khả năng mở rộng có nghĩa là gì?
- 14. VowpalWabbit: Sự khác biệt và khả năng mở rộng
- 15. Khả năng mở rộng là System.Threading.Timer như thế nào?
- 16. java.io.RandomAccessFile khả năng mở rộng (hoặc các tùy chọn khác)
- 17. Các phiên xử lý cho khả năng mở rộng
- 18. Đồng thời và khả năng mở rộng API Web
- 19. Khả năng mở rộng Websocket, mối quan tâm phát sóng
- 20. Hibernate vs ebean như khả năng mở rộng, performant ORM
- 21. Giới hạn chiều rộng bảng
- 22. Hướng dẫn về tính năng siêu lập trình và khả năng mở rộng của Boo?
- 23. Làm thế nào để ứng dụng Java của tôi có khả năng mở rộng và khả năng chịu lỗi?
- 24. Hiểu về khả năng mở rộng của các ứng dụng RShiny được lưu trữ trên ShinyServer
- 25. Giới hạn hiệu năng JSF
- 26. python GTK3 giới hạn chiều rộng nhãn
- 27. UIWebView - Giới hạn chiều rộng nội dung
- 28. Cách giới hạn chiều rộng văn bản
- 29. giới hạn chiều rộng xem JScrollPane
- 30. Khả năng cuộn giới hạn trên các thành phần canvas HTML5
Tôi đã viết câu trả lời bên dưới. Nhưng mô hình hóa dữ liệu cho NoSQL là một chủ đề vô cùng rộng lớn, không dễ trả lời ở đây trên StackOverflow. Một mồi tốt về chủ đề: https://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/ –