2017-06-28 19 views
1

私は、提案されているようにフラットなデータベース構造を持っていますが、ストレージにも同じ方法を使用するかどうかはわかりません。Firebaseストレージのベストプラクティス

私はちょうど行うことがあまりにも面倒ではありません。

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

しかし、これがベストプラクティスですが?私はストレージ構造を平らにしようとするべきでしょうか?

EDIT

BELOW


その後、それはこのようなものを持ってしても大丈夫だと言うことは安全だろう:ストレージの広さと深さは関係ありません、つまり

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

を、コレ?

+1

Firebaseデータベースに適用されるdenomalizationやflatteningなどのすべての問題は、Firebaseストレージとは関係ありません。ストレージ内のアイテムをより簡単にブラウズしたり、サブツリー全体を簡単に削除できるようにするには、階層をストレージに導入する必要があります。それを超えて、数千のアイテムを持つ単一のフラットトップレベルを持つことには本当の問題はありません。 –

答えて

1

Firebase Storage構造を平坦化することで、パフォーマンスは向上しません。これは、Firebase Storageからデータを取得する方法(要求されたファイルのみがダウンロードされる)がRealtime Databaseのデータと非常に異なるためです(データ要求によってはすべての子データが返されます)。

したがって、ユースケースに最も合った方法でStorageデータを構造化できます。

+0

私の質問に1つの編集を見てください。 – Latcie

+0

はい、私の答えはまだ適用されます。一度に1つのフォルダからいくつかのアイテムだけを取得している場合は、フォルダ内にいくつのアイテムがあるかは関係ありません。 –

関連する問題