我正在测试firebase的项目可能有相当多的密钥,可能是数百万.
我已经测试过使用节点加载几个10k的记录,并且负载性能看起来很好.但是,如果我扩展我的根节点,"FORGE"Web UI变得非常慢并呈现每条记录.
Firebase不是针对这一数据量而设计的,还是我做错了什么?
Kat*_*ato 72
这只是Forge UI的局限性.它仍然相当简陋.
Firebase中的实时功能不仅适用于大型数据集,而且适用于大型数据集.实时记录流的这一事实是完美的.
与任何大型数据应用程序一样,性能仅与您的实现一样好.所以这里有一些要记住大数据集的问题.
DENORMALIZE,DENORMALIZE,DENORMALIZE
如果将迭代数据集,并且其记录可以以千计数,则将其存储在自己的路径中.
这对迭代大型数据集很不利:
/users/uid
/users/uid/profile
/users/uid/chat_messages
/users/uid/groups
/users/uid/audit_record
Run Code Online (Sandbox Code Playgroud)
这适用于迭代大型数据集:
/user_profiles/uid
/user_chat_messages/uid
/user_groups/uid
/user_audit_records/uid
Run Code Online (Sandbox Code Playgroud)
避免在大型数据集上"有价值"
使用child_addedsince value必须将整个记录集加载到客户端.
观察value对儿童的隐藏行动
当你打电话时child_added,你基本上是在呼唤value每一个儿童记录.因此,如果这些孩子包含大型列表,他们将不得不加载所有要返回的数据.因此,上面的DENORMALIZE部分.
| 归档时间: |
|
| 查看次数: |
23285 次 |
| 最近记录: |