"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment Firestore peut-il optimiser les délais des réseaux sociaux pour l'évolutivité ?

Comment Firestore peut-il optimiser les délais des réseaux sociaux pour l'évolutivité ?

Publié le 2024-11-08
Parcourir:231

How Can Firestore Optimize Social Network Timelines for Scalability?

Optimisation de la chronologie des réseaux sociaux avec Firestore

Lors de la conception d'un réseau social avec des fonctionnalités de flux et de suivi, l'évolutivité de la base de données est cruciale pour gérer les problèmes potentiels avec de grands ensembles de données. La base de données en temps réel de Firebase présente des défis d'évolutivité, en particulier en ce qui concerne le stockage des chronologies des utilisateurs. Pour résoudre ces problèmes, envisagez de passer à Firestore.

Structure de base de données optimisée

Le schéma de Firestore répond aux problèmes d'évolutivité avec une structure de données hiérarchique :

    [ Collection &&&]
  • Utilisateurs : stocke les informations utilisateur (uid, nom, email)
  • Collection Following : suit les utilisateurs qu'un utilisateur suit. Chaque document représente l'utilisateur suivi, contenant une sous-collection d'autres identifiants d'utilisateur qui le suivent. Collection
  • Collection Posts : stocke les publications individuelles. Chaque document de publication existe dans une sous-collection associée à l'UID de l'utilisateur postant.

Éliminer les problèmes d'évolutivité

Avec cette structure, la base de données répond aux préoccupations initiales :

  • Numéro 1 (notifications de 10 000 abonnés) : les collections Firestore gèrent un grand nombre de documents efficacement, éliminant les goulots d'étranglement des performances de la base de données en temps réel.
  • Problème 2 (Abonnés recevant toutes les publications) : En stockant les publications dans des sous-collections au sein du document de l'utilisateur qui a publié la publication, les nouveaux abonnés récupèrent uniquement les dernières publications, éliminant ainsi le besoin de charger un historique de publication complet.

Requête de chronologies

Pour Pour récupérer la chronologie d'un utilisateur, procédez comme suit :

    Obtenez l'UID de l'utilisateur actuel et créez une référence à la collection
  • Following.
  • Interrogez la sous-collection de ID utilisateur suivi par l'utilisateur actuel.
  • Pour chaque utilisateur suivi, créez une requête pour ses dernières publications dans les
  • Messages collection.

Optimisations supplémentaires

Envisagez de stocker le flux utilisateur dans un document distinct pour chaque utilisateur afin d'améliorer encore les performances. Si le flux dépasse 1 Mio, il peut être stocké dans une collection.

Conclusion

En utilisant cette structure de base de données optimisée, Firestore élimine efficacement les problèmes d'évolutivité rencontrés dans Base de données en temps réel de Firebase, fournissant une base solide pour gérer de gros volumes de données dans une application de réseau social.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3