Il s'agit simplement des limites de l'interface utilisateur de Forge. Elle est encore assez rudimentaire.
Les fonctions en temps réel de Firebase sont non seulement adaptées, mais aussi conçues pour les grands ensembles de données. Le fait que les enregistrements soient diffusés en temps réel est parfait pour cela.
Comme pour toute application de données volumineuses, les performances dépendent de la mise en œuvre. Voici donc quelques problèmes à garder à l'esprit avec les grands ensembles de données.
DÉNORMALISER, DÉNORMALISER, DÉNORMALISER
Si un ensemble de données est appelé à être itéré et que ses enregistrements se comptent en milliers, stockez-le dans son propre chemin d'accès.
Ce n'est pas une bonne chose pour l'itération de grands ensembles de données :
/users/uid
/users/uid/profile
/users/uid/chat_messages
/users/uid/groups
/users/uid/audit_record
Cela permet d'itérer sur de grands ensembles de données :
/user_profiles/uid
/user_chat_messages/uid
/user_groups/uid
/user_audit_records/uid
Éviter la "valeur" des grands ensembles de données
Utiliser le child_added
desde value
doit charger l'ensemble des enregistrements pour le client.
Attention à la présence d'éléments cachés value
opérations sur les enfants
Lorsque vous appelez child_added
vous appelez en fait value
sur chaque enregistrement d'enfant. Par conséquent, si ces enfants contiennent de grandes listes, ils devront charger toutes ces données pour les renvoyer. D'où la section DENORMALIZE ci-dessus.