Cloud Firestore - thm-mni-ii/SWT-P_SS20_Dixit GitHub Wiki

Cloud Firestore ist eine Cloud-Datenbank, die Daten in Sammlungen von Dokumenten organisiert. Im Gegensatz zur Firebase-Echtzeitdatenbank, welche in einen beliebigen JSON-Baum organisiert werden kann.

Auf oberster Ebene gibt es eine Reihe von Sammlungen, die alle einen eindeutigen Namen brauchen. Jede Sammlung beinhaltet Dokumente, auch wieder mit eindeutigem Namen. Dokumente können aus beliebigen JSON-Daten bestehen. Mehrere Dokumente aus der gleichen Sammlung müssen nicht die gleiche Struktur haben (ist aber natürlich hilfreich beim Verarbeiten der Daten).

Der Zugriff auf die Daten erfolgt immer über ganze Dokumente. Entweder wird ein einziges Dokument geladen, oder mehrere Dokumente aus der gleichen Sammlung.

Ein Vorteil gegenüber der Echtzeitdatenbank ist die Möglichkeit, beim Zugriff auf eine Sammlung nach Attribute zu filtern oder zu sortieren. Dadurch wird die Suche nach dem gewünschten Fragen-Set deutlich beschleunigt, da die Datenbank die Suche übernimmt und nicht alle Daten heruntergeladen werden müssen um lokal durchsucht zu werden. Zudem erstellt der Datenbank-Server automatisch passende Indizes um die Suchzeit noch weiter zu verkürzen.