Firebase可扩展性限制

Ron*_*ici 10 database scalability firebase

这篇文章说,当个别节点开始拥有1-10万个孩子时,FireBase会出现问题.如果我们有超过1000万用户,应如何处理应用中的用户?在所有示例中,我虽然用户只是单个节点"用户"的孩子.

Fra*_*len 18

Firebase不适合处理长项目列表.这些长列表的问题不是存储数据,而是访问数据.

每当您访问列表时(例如ref.child('users').on(...)Firebase必须考虑服务器上该列表中的所有项目; 即使您只下载了一些用户(.limitToLast(10)),也必须考虑每个用户.

但只要您从未尝试访问该列表,就可以根据需要在其下存储尽可能多的用户.但这意味着您总是直接访问它们,例如ref.child('users').child(auth.uid).on(....

这限制了您可以实现的用例,因此通常开发人员根据用户需要的方式创建用户子列表.例如,如果每个用户都保留了一个朋友列表,那么您可以保留这些用户ref.child('users_friends').child(auth.id).on(...ref.child('users').child(auth.uid)再次查看每个用户.这样,您只需阅读一小部分用户,然后直接加载每个用户.