Optimieren der Struktur eines Feed- und Follow-Systems in Firestore
Beim Entwerfen eines Feed- und Follow-Systems für eine Social-Network-App ist es von entscheidender Bedeutung, Folgendes zu tun Berücksichtigen Sie die Skalierbarkeit, um Leistungsengpässe zu vermeiden. So strukturieren Sie Ihre Datenbank in Firestore, um dieses Problem zu beheben:
Anfängliches relationales Schema
Ihr aktuelles Firebase-Echtzeitdatenbankschema umfasst:
Firestore-Datenbankstruktur
Um diese Struktur in Firestore zu optimieren, schlagen wir einen denormalisierten Ansatz vor, der Sammlungen verwendet:
Vorteile der Denormalisierung
Durch die Denormalisierung der Daten entfällt die Notwendigkeit kostspieliger Verknüpfungen, was die Abfrageleistung und Skalierbarkeit verbessert.
Benutzerfolgen abfragen
Um die zu erhalten Folgende Liste eines Benutzers können Sie abfragen:
CollectionReference userFollowingRef = rootRef.collection("following/" + uid + "/userFollowing");
Benutzerbeiträge abfragen
Um die neuesten Beiträge eines Benutzers zu erhalten, können Sie Folgendes abfragen:
Query query = rootRef.collection("posts/" + uid + "/userPosts").orderBy("date", Query.Direction.DESCENDING).limit(3);
Feed-Abruf optimieren
Um den Feed eines Benutzers effizient abzurufen, beachten Sie Folgendes:
Diese überarbeitete Struktur behebt die Skalierbarkeitsprobleme in Ihrem Original Schema, mit dem Sie eine große Menge an Followern und Beiträgen effizient in Firestore verwalten können.
Das obige ist der detaillierte Inhalt vonWie kann Firestore ein Feed-and-Follow-System hinsichtlich Skalierbarkeit optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!