Alles, was Sie über die Firestore-API von Google Cloud wissen müssen.
Alles, was Sie über die Firestore-API von Google Cloud wissen müssen.

Der vollständige Leitfaden für Entwickler, Produktverantwortliche und Serverless-Enthusiasten

Alles, was Sie über die Firestore-API von Google Cloud wissen müssen.

Google Firestore ist eine der weltweit beliebtesten Cloud-NoSQL-Datenbanken und wird von Firebase und Google Cloud bereitgestellt. Firestore eignet sich ideal für die Entwicklung von Echtzeitanwendungen, ist skalierbar, erfordert keine Serververwaltung und zeichnet sich durch hohe Geschwindigkeit aus. Die Datenbank ist über eine REST-API, gRPC und verschiedene SDKs verfügbar und erfreut sich großer Beliebtheit bei Entwicklern von mobilen Anwendungen, Webanwendungen und Backend-Lösungen. In diesem Artikel stellen wir Firestore umfassend und detailliert vor – mit praktischen Beispielen, Projektvorschlägen, erfolgreichen Anwendungsbeispielen, Architektur, Sicherheit und Best Practices.
0 Aktien
0
0
0
0

Was ist Firestore?

Firestore ist eine dokumenten-/sammlungsbasierte NoSQL-Cloud-Datenbank mit folgenden Funktionen:

  • Strukturierte und flexible Lagerung
  • Echtzeit-Synchronisierungsfähigkeit
  • Höchste Sicherheit mit Firebase-Sicherheitsregeln
  • Automatische Skalierbarkeit
  • Sehr geringe Latenz weltweit
  • Fähigkeit zur Ausführung komplexer Abfragen
  • Geeignet für Projekte vom Kleinunternehmen bis zum Großunternehmen

Firestore in zwei Modi Nativer Modus (Firebase-spezifisch) und Datenspeichermodus (Wird für GCP Enterprise-Dienste bereitgestellt).


Datenstruktur in Firestore

Firestore verwendet eine einfache, aber leistungsstarke Architektur:

  • Sammlung → Eine Sammlung von Dokumenten

  • Dokumentieren → Eine JSON-ähnliche Struktur

  • Unterkollektion → Sammlung innerhalb jedes Dokuments

  • Feld → Felder jedes Dokuments

Beispielstruktur:

users (collection)
   └── userId123 (document)
    ├── name: "Ali"
    ├── age: 28
    └── posts (subcollection)
      └── postId981 (document)
        ├── title: "My First Post"
        └── likes: 52

Beispielcode zur Verwendung der Firestore-API

1. Verwendung mit JavaScript (Web-App / Node.js)

Installation

npm install firebase

Verbindung zu Firestore herstellen

import { initializeApp } from "firebase/app";
import { getFirestore, doc, setDoc, getDoc } from "firebase/firestore";
const firebaseConfig = {
apiKey: "...",
authDomain: "...",
projectId: "...",
};
const app = initializeApp(firebaseConfig);
const db = getFirestore(app);

Dokument hinzufügen

await setDoc(doc(db, "users", "user1"), {
name: "Ali",
age: 28,
job: "Developer"
});

Lesedokument

const docRef = doc(db, "users", "user1");
const snap = await getDoc(docRef);
if (snap.exists()) {
console.log("Data:", snap.data());
}

2. Firestore REST-API

Senden Sie eine POST-Anfrage, um ein Dokument zu erstellen.

curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{
"fields": {
"title": {"stringValue": "New Article"},
"views": {"integerValue": "102"}
}
}' \
"https://firestore.googleapis.com/v1/projects/YOUR_PROJECT/databases/(default)/documents/posts"


Projekte, die mit Firestore erstellt werden können

1. Chat- und Messaging-Apps (Echtzeit-Chat-App)

Dank seiner Fähigkeit zur sofortigen Synchronisierung ist Firestore eine der besten Optionen für die Entwicklung von Chat-Systemen.

2. Content-Management-Systeme (Blog, CMS)

Insbesondere für kleine Teams oder Startups, die sich nicht mit Servern herumschlagen wollen.

3. Mobile Apps (iOS / Android / Flutter)

Wegen:

  • Niedrige Latenz

  • Gleichzeitige Synchronisierung

  • Interner Offline-Modus

4. Echtzeit-Management-Dashboards (Admin-Panels)

Zum Beispiel Online-Shop-Dashboard, Benutzerstatistiken, Auftragsverwaltung.

5. Kleiner und mittelgroßer Online-Shop

Produkte, Kategorien, Warenkörbe, Bestellungen usw. hinzufügen.

6. IoT-Anwendungen

Schnelle Speicherung von Sensordaten.


Beispiele erfolgreicher Projekte mit Firestore

  • Alibaba Cloud Mobile – Nutzung von Firestore für Echtzeit-Datenmanagement

  • Das New York Times Kreuzworträtsel – Verwendung für Online-Mehrspieler

  • Todoist – Benutzeraufgaben über mehrere Geräte hinweg synchronisieren

  • Shazam – Verwaltung einiger Cloud-Daten

  • Hotstar – Benutzerdaten und Profileinstellungen speichern

(Viele Dienste nutzen Firestore im Hintergrund, ohne dies offiziell anzukündigen.)


Vorteile von Firestore

Automatische Skalierbarkeit

Sie müssen den Server nicht verwalten.

Hohe Lesegeschwindigkeit

Angesichts der Global Edge-Architektur.

Sicherheit mit Sicherheitsregeln für Firestore

Beispielregel, die besagt, dass nur der Kontoinhaber Lese-/Schreibberechtigung hat:

service cloud.firestore {
match /databases/{database}/documents {
match /users/{uid} {
allow read, write: if request.auth.uid == uid;
}
}
}
Offline-Modus-Unterstützung

Auf Mobilgeräten und im Web.

Leistungsstarke Abfragen

Filtern, Sortieren, Bereichsabfragen, Indizierung.


Herausforderungen und Einschränkungen (die man am besten vor der Verwendung kennt)

❌ Kein Join (es handelt sich um NoSQL)
❌ Komplexe Abfragen erfordern Indizes.
❌ Die Kosten werden anhand der Anzahl der Lese-/Schreib-/Speichervorgänge berechnet.
❌ Nicht geeignet für sehr große Datensätze (TB und mehr)
❌ Die Anzahl der Transaktionen ist begrenzt.


Firestore vs. Echtzeitdatenbank

BesonderheitFirestoreEchtzeitdatenbank
DatenstrukturDokumentenbasiertJSON-Baum
AbfrageSehr starkSehr begrenzt
SkalierbarkeitSpitzeMedium
PreisNormalGünstiger
VerwendungModerne AppsEinfacher Chat, IoT

Firestore ist eine neuere und optimierte Version von Realtime DB.


Firestore – Best Practices für die professionelle Produktion

1. Wählen Sie die richtige Datenstruktur

Nach Möglichkeit sollten Sie keine großen Dokumente erstellen.

2. Verwenden Sie Subkollektionen, um Daten zu segmentieren.

Beispiel: Beiträge → Kommentare → Likes

3. Cacheintensive Abfragen

Um die Kosten des Lesens zu senken.

4. Verwenden Sie Cloud Functions für die Backend-Verarbeitung.

Zum Beispiel das Versenden von Benachrichtigungen, das Erstellen von Indizes und das Zusammenfassen von Daten.

5. Protokollierung in Firestore

Um unerwünschte Kosten zu vermeiden.


Beispiel eines kompletten Blogsystems mit Firestore

Vorgeschlagene Struktur:

posts (collection)
  └── postId
    ├── title
    ├── content
    ├── authorId
    ├── createdAt
    └── comments (subcollection)
      └── commentId
        ├── userId
        └── message

Beispiel für das Hinzufügen eines Beitrags:

import { collection, addDoc, serverTimestamp } from "firebase/firestore";
await addDoc(collection(db, "posts"), {
title: "First Blog Post",
content: "This is the content...",
authorId: "u123",
createdAt: serverTimestamp()
});

Abschluss

Firestore ist eine leistungsstarke Cloud-Datenbank in Echtzeit, die sich für den Aufbau schneller, skalierbarer und serverloser Dienste eignet.
Dieser Service eignet sich für:

✅ Webseite
✅ Mobile App
✅ Content-Management-System
✅ Chat-Apps
✅ Echtzeit-Dashboards
✅ IoT-Projekte
✅ Online-Shops

Wenn Sie ein Produkt entwickeln, das Folgendes erfordert Sofortige Synchronisierung, hohe Geschwindigkeit und überschaubare Kosten Ja, Firestore ist eine der besten Optionen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte Ihnen auch gefallen