具有大型数据集的Firebase的性能

时间:2013-04-26 15:15:23

标签: firebase

我正在测试firebase的项目可能有相当多的密钥,可能是数百万。

我已经测试过使用节点加载几个10k的记录,并且负载性能看起来很好。但是,如果我扩展我的根节点,“FORGE”Web UI会变得非常慢并呈现每条记录。

Firebase不是针对此数据量设计的,还是我做错了什么?

1 个答案:

答案 0 :(得分:72)

这仅仅是Forge UI的局限性。它仍然相当简陋。

Firebase中的实时功能不仅适用于大型数据集,而且适用于大型数据集。实时记录流的事实是完美的。

与任何大型数据应用一样,性能仅与您的实施一样好。所以这里有一些要记住大数据集的问题。

异常,异常,异常

如果将迭代数据集,并且其记录可以以千计数,则将其存储在自己的路径中。

这对迭代大型数据集不利:

/users/uid
/users/uid/profile
/users/uid/chat_messages
/users/uid/groups
/users/uid/audit_record

这适用于迭代大型数据集:

/user_profiles/uid
/user_chat_messages/uid
/user_groups/uid
/user_audit_records/uid

避免对大型数据集“重视”

使用child_added,因为value必须将整个记录集加载到客户端。

关注对儿童的隐藏value操作

当您致电child_added时,您实际上是在每个子记录上调用value。因此,如果这些孩子包含大型列表,他们将不得不加载所有要返回的数据。因此,上面的DENORMALIZE部分。