2017-07-26 1 views

Répondre

2

La profondeur n'est pas un facteur qui affecte la vitesse sur le plan technique. Firebase peut aussi rapidement rechercher un nœud au niveau 30 qu'au niveau 1. Les principaux facteurs contribuant rapidement aux performances sont la taille des données que votre application lit/écrit et la bande passante disponible. Mais des années d'expérience avec Firebase ont montré que les données profondément imbriquées vont souvent de pair avec des problèmes de performances. Ce n'est pas une relation causale, mais souvent les développeurs choisissent des structures imbriquées qui sont simplement la mauvaise structure de données pour les cas d'utilisation de leurs applications.

Cela dépend vraiment de la structure des données et de la façon dont vous y accédez. Ce qui rend cette question trop large dans sa forme actuelle. Pour de bonnes introductions au sujet, je recommande de lire NoSQL data modeling et de regarder Firebase for SQL developers.

0

Je suis désolé je viens de courir à travers cela et je ne suis pas familier avec Firebase. Mais je travaille avec les DB relationnelles (et les rend plus proches de nosql). Si vous accédez aux données par une paire de valeurs de clé. Récupérer la valeur par la clé sera toujours très rapide. Mais alors vous devrez peut-être encore effectuer des sous-requêtes, ou regarder dans votre objet imbriqué. Cela prendra certainement plus de temps de traitement. Sans beaucoup plus de détails, je ne pense pas que quiconque puisse vous donner une réponse solide.

Mais la réponse courte est: Si vous voulez toutes les données rapidement et vous pouvez l'obtenir directement par une clé, ce sera extrêmement rapide. Mais si vous voulez faire plus de jointures et de traitement sur les données renvoyées, il vaut probablement mieux normaliser ou même dénormaliser et stocker ces données.