【发布时间】:2017-02-24 11:23:59
【问题描述】:
我不熟悉从数据库中存储和检索大量数据。我有一个使用 Firebase 存储数据的 iOS 应用,一切正常,但我担心一旦数据越来越多,性能会受到影响。
例如,在创建个人资料时,用户必须选择尚未使用的用户名。为此,我检索所有现有用户名并检查新用户名是否已经存在。那么我的问题是,如果现有用户名有数千甚至数百万,我该如何测试会发生什么?
提前致谢。
【问题讨论】:
-
无需收集所有用户数据来查看用户名是否存在 - 对其进行查询。如果您遵循典型的设计模式,例如非规范化数据、利用查询来查找特定数据但不要过度使用它们、在需要时复制数据等,您会发现 Firebase 可以处理数十万(数百万)条数据而不会降级在性能上。 *如果您拥有数百万个用户名...为此欢呼!
-
这里的关键就在 Jay 的第一句话中:存储数据是无限可扩展的。访问该数据中的单个节点几乎是可扩展的。但是查询一百万个节点以检查其中是否存在一个值。所以解决方案是选择一个不需要查询的数据结构。另请参阅:stackoverflow.com/questions/39712833/…
标签: ios firebase firebase-realtime-database