【问题标题】:Firebase storage best practicesFirebase 存储最佳做法
【发布时间】:2017-12-01 06:00:40
【问题描述】:

我有一个建议的平面数据库结构,但我不确定是否也应该使用相同的做法进行存储。

我自己做也不算太麻烦:

FIRStorage.storage().reference().child(someUID).child(someNode1).child(someNode2) and so on and so on

但这是最佳做法吗?我是否也应该尝试扁平化存储结构?


在下面编辑

是否可以肯定地说拥有这样的东西是可以的,那么:

root
  |
  'uid1
      |
      'Group 1
            |
            'Thousands of pictures
      |
      'Group 2
            |
            'Thousands of pictures
      .
      .
      .
  |
  'Thousands more UIDs

换句话说,存储的广度和深度并不重要,对吗?

【问题讨论】:

  • 所有适用于 Firebase 数据库的问题,例如去特征化和扁平化,都与 Firebase 存储无关。如果您想更轻松地浏览存储中的内容,或者能够轻松删除整个子树,则应该将层次结构引入存储。除此之外,拥有一个包含数千个项目的平面顶层并没有真正的问题。

标签: android firebase firebase-storage


【解决方案1】:

扁平化 Firebase 存储结构不会带来任何性能提升。这是因为您从 Firebase 存储中检索数据的方式(仅下载请求的文件)与实时数据库的方式非常不同(针对某些数据请求返回所有子数据)。

因此,您可以以任何对您的用例最有意义的方式构建存储数据。

【讨论】:

  • 是的,我的回答仍然适用。如果您一次只从一个文件夹中检索几个项目,那么文件夹中有多少其他项目并不重要。
猜你喜欢
  • 2016-06-04
  • 1970-01-01
  • 2017-04-21
  • 2018-01-31
  • 2015-01-02
  • 1970-01-01
  • 1970-01-01
  • 2021-11-30
  • 1970-01-01
相关资源
最近更新 更多