advanced
datenbank
statistiken
admin

Datenbankstatistiken

Zeigen Sie Datensatzzahlen auf Systemebene an und überwachen Sie Importaktivitäten mit dem Datenbankstatistiken-Dashboard

Levy Fleets TeamDecember 25, 202510 min read

Datenbankstatistiken

Die Datenbankstatistiken-Funktion bietet Systemadministratoren einen Überblick über Datenbankdatensatzzahlen und Importaktivitäten. Diese Daten helfen bei der Überwachung des Systemzustands, der Wachstumsverfolgung und der Überprüfung von Datenimportoperationen.

Zugriff auf Datenbankstatistiken

Navigieren Sie zu Admin > Datenbanktools über die Admin-Navigation. Die Statistiken werden oben auf der Seite in Zusammenfassungskarten angezeigt.

Zugriffsvoraussetzungen

Zugriff auf den Admin-Bereich ist erforderlich. Admin-Rollen werden für die Anzeige von Datenbankstatistiken empfohlen.

Übersicht

Die Datenbankstatistiken zeigen vier wichtige Metriken an:

MetrikBeschreibungSymbolfarbe
GesamtkundenAnzahl aller KundendatensätzeBlau
GesamtfahrtenAnzahl aller FahrtdatensätzeGrün
GesamtfahrzeugeAnzahl aller FahrzeugdatensätzeLila
Letzter ImportZeitstempel des letzten DatenimportsGrau

Jede Metrik verstehen

Gesamtkunden

Was gezählt wird: Alle Zeilen in der customers-Tabelle

Beinhaltet:

  • Aktive Kunden
  • Gesperrte Kunden
  • Kunden mit Identitätsverifizierungsmarkierungen
  • Alle Status und Zustände

Beinhaltet NICHT:

  • Hart gelöschte Datensätze (falls vorhanden)
  • Weich gelöschte Datensätze SIND in der Zählung enthalten

Format: Zahl mit Tausendertrennzeichen (z.B. "12.450")

Gesamtfahrten

Was gezählt wird: Alle Zeilen in der rides-Tabelle

Beinhaltet:

  • Aktive Fahrten
  • Abgeschlossene Fahrten
  • Stornierte Fahrten
  • Pausierte Fahrten
  • Alle Fahrtstatus

Beinhaltet NICHT:

  • Hart gelöschte Datensätze (falls vorhanden)

Format: Zahl mit Tausendertrennzeichen (z.B. "156.789")

Gesamtfahrzeuge

Was gezählt wird: Alle Zeilen in der vehicles-Tabelle

Beinhaltet:

  • Verfügbare Fahrzeuge
  • In Benutzung befindliche Fahrzeuge
  • Wartungsfahrzeuge
  • Offline-Fahrzeuge
  • Alle Status

Format: Zahl mit Tausendertrennzeichen (z.B. "342")

Letzter Import

Was angezeigt wird: Zeitstempel der letzten Datenimportoperation

Verfolgte Importtypen:

  • customers_csv_import - Kunden-CSV-Importe
  • rides_csv_import - Fahrten-CSV-Importe
  • csv_import - Allgemeine CSV-Importe
  • manual_sync - Stripe-API-Synchronisationsoperationen

Format: Lokalisierte Datums- und Zeitzeichenkette (z.B. "25.12.2025, 14:30:45")

Falls keine Importe: Zeigt "Nie" an

Wie Statistiken berechnet werden

Echtzeit-Abfragen

Jede Statistik wird in Echtzeit über Datenbankabfragen berechnet:

  1. Kundenanzahl: SELECT COUNT(*) FROM customers
  2. Fahrtenanzahl: SELECT COUNT(*) FROM rides
  3. Fahrzeuganzahl: SELECT COUNT(*) FROM vehicles
  4. Letzter Import: SELECT processed_at FROM stripe_webhook_logs WHERE event_type IN (...) ORDER BY processed_at DESC LIMIT 1

Abfrageleistung

  • Verwendet PostgreSQLs optimierte COUNT(*)-Operation
  • head: true-Option gibt nur Metadaten zurück (keine Zeilendaten)
  • Indizierte Spalten unterstützen schnelle Abfragen
  • Typische Antwortzeit: 200-500ms

Die Datenbanktools-Seite

Seitenlayout

Die Datenbanktools-Seite ist in Abschnitte unterteilt:

  1. Statistikkarten (oben) - Die vier oben beschriebenen Metriken
  2. Importtools-Raster - Schaltflächen für Kunden-, Fahrten- und Stripe-Importe
  3. Hilfebereich - Anweisungen und Dateiformatanforderungen

Anzeige der Statistikkarten

Jede Karte zeigt:

  • Symbol: Visueller Indikator mit farbigem Hintergrund
  • Wert: Große numerische oder Datumswert
  • Beschriftung: Beschreibung der Metrik

Aktualisierungsverhalten

Statistiken:

  • Laden beim Seitenbesuch
  • Manuelle Aktualisierung für Updates erforderlich
  • Keine automatische Aktualisierung (um Serverlast zu reduzieren)

Dateninterpretation

Wachstumsüberwachung

Verfolgen Sie Metriken über die Zeit, um zu überwachen:

  • Kundenakquisitionsraten
  • Fahrtvolumentrends
  • Flottenerweiterung

Importe verifizieren

Nach einem Import:

1

Vorherige Zahlen notieren

Notieren Sie die aktuellen Zahlen vor dem Import

2

Import durchführen

Führen Sie Ihre Importoperation aus

3

Seite aktualisieren

Aktualisieren Sie die Datenbanktools-Seite

4

Zahlen vergleichen

Überprüfen Sie, ob die neuen Zahlen dem erwarteten Anstieg entsprechen

5

Zeitstempel prüfen

Bestätigen Sie, dass der "Letzter Import"-Zeitstempel Ihrer Operation entspricht

Probleme identifizieren

SymptomMögliche UrsacheMaßnahme
Plötzlicher Rückgang der ZahlenDatenverlust oder LöschungSofort untersuchen
Stagnierender "Letzter Import"Importoperationen könnten fehlschlagenImport-Logs prüfen
Unerwartetes WachstumDoppelte Importe aufgetretenImport-Historie überprüfen

Zugriffskontrollen

Aktueller Zustand

Die Datenbankstatistik-API (/api/admin/database/stats) ist ohne explizite Rollenprüfung zugänglich.

Empfehlung

Diese Funktion sollte in Produktionsumgebungen nur auf Admin-Rollen beschränkt werden.

Empfohlener Zugriff

RolleEmpfohlener Zugriff
Super AdminVollzugriff
Global AdminVollzugriff
AdminLesezugriff
FlottenmanagerKein Zugriff
Andere RollenKein Zugriff

Integration mit Importtools

Vor-Import-Verifizierung

Vor der Durchführung eines Imports:

  1. Notieren Sie aktuelle Zahlen aus den Statistikkarten
  2. Berechnen Sie erwartete Zahlen nach dem Import
  3. Fahren Sie mit dem Import fort

Nach-Import-Verifizierung

Nach Abschluss des Imports:

  1. Aktualisieren Sie die Datenbanktools-Seite
  2. Überprüfen Sie, ob die Zahlen um den erwarteten Betrag gestiegen sind
  3. Prüfen Sie, ob der "Letzter Import"-Zeitstempel aktualisiert wurde
  4. Überprüfen Sie die Importjob-Details auf Fehler

Technische Details

API-Endpunkt

URL: GET /api/admin/database/stats

Antwortformat:

{
  "totalCustomers": 12450,
  "totalRides": 156789,
  "totalVehicles": 342,
  "lastImport": "2025-12-25T14:23:15.000Z"
}

Caching

  • Kein Caching implementiert: Frische Abfragen bei jeder Anfrage
  • Cache-Control: no-cache, no-store, must-revalidate Header gesetzt
  • force-dynamic-Modus verhindert Next.js-Static-Caching

Fehlerbehandlung

Falls Datenbankabfragen fehlschlagen:

  • Gibt HTTP 500-Status zurück
  • Fehlermeldung in der Antwort enthalten
  • Statistikkarten zeigen "0" oder "Nie" als Fallback

Datenbanktabellen

customers-Tabelle

Primäre Tabelle für Kundendatensätze mit 40+ Feldern einschließlich:

  • Persönliche Informationen
  • Kontaktdaten
  • Identitätsverifizierungsstatus
  • Wallet-Guthaben
  • Fahrthistorie-Statistiken

rides-Tabelle

Primäre Tabelle für Fahrtdatensätze mit 50+ Feldern einschließlich:

  • Fahrtzeitstempel
  • Strecke und Dauer
  • Preisinformationen
  • Kunden- und Fahrzeugreferenzen
  • Zoneninformationen

vehicles-Tabelle

Primäre Tabelle für Fahrzeugdatensätze mit 45+ Feldern einschließlich:

  • Fahrzeugidentifikation
  • IoT-Geräteverknüpfung
  • Batteriestatus
  • Standortdaten
  • Status und Verfügbarkeit

stripe_webhook_logs-Tabelle

Prüfprotokoll für Stripe-Ereignisse und Importe:

  • event_id: Eindeutige Ereignis-ID
  • event_type: Ereignistyp (Importtyp für Statistiken)
  • processed_at: Zeitstempel der Verarbeitung
  • status: Verarbeitungsstatus

Bewährte Praktiken

Regelmäßige Überwachung

  1. Tägliche Prüfung: Werfen Sie einen Blick auf die Zahlen während des täglichen Betriebs
  2. Vor/nach Import: Überprüfen Sie immer die Zahlen rund um Importoperationen
  3. Anomalie-Untersuchung: Untersuchen Sie unerwartete Zahlenänderungen

Dokumentation

Führen Sie Aufzeichnungen über:

  • Erwartete Zahlen nach jedem Import
  • Zeitstempel wichtiger Importe
  • Eventuelle Zahlenabweichungen und deren Behebung

Import-Hygiene

  1. Importe zuerst testen: Verwenden Sie kleine Testdateien vor großen Importen
  2. Baseline aufzeichnen: Notieren Sie Zahlen vor jedem Import
  3. Erfolg verifizieren: Überprüfen Sie immer die Zahlen nach dem Import

Fehlerbehebung

Statistiken werden nicht geladen

Mögliche Ursachen:

  • Datenbankverbindungsprobleme
  • API-Endpunkt nicht erreichbar
  • Netzwerk-Timeout

Lösungen:

  • Seite aktualisieren
  • Browser-Konsole auf Fehler prüfen
  • Datenbankverbindung verifizieren

Zahlen entsprechen nicht den Erwartungen

Mögliche Ursachen:

  • Import hatte Fehler (teilweiser Import)
  • Duplikate wurden übersprungen
  • Filter wurden während des Imports angewendet

Lösungen:

  • Importjob-Fehlerdetails prüfen
  • Import-Logs überprüfen
  • Quelldatenintegrität verifizieren

Letzter Import zeigt "Nie"

Mögliche Ursache: Keine Import-Ereignisse in stripe_webhook_logs protokolliert

Hinweis

Nur Importe, die in stripe_webhook_logs protokolliert werden, erscheinen hier. Einige manuelle Operationen werden möglicherweise nicht erfasst.

Veraltete Daten nach Import

Ursache: Seite muss nach Abschluss des Imports aktualisiert werden

Lösung: Aktualisieren Sie die Seite manuell nach Abschluss der Importoperationen

Einschränkungen

Aktuelle Einschränkungen

  1. Keine historischen Daten: Nur aktuelle Zahlen, keine Trends
  2. Keine Aufschlüsselung nach Status: Nur Gesamtzahlen
  3. Keine Unterkonto-Filterung: Zeigt alle Datensätze über alle Unterkonten
  4. Keine Exportfunktionalität: Statistiken können nicht exportiert werden

Nicht enthalten

  • Filterung nach weicher Löschung (deleted_at-Datensätze werden gezählt)
  • Statusbasierte Zählungen (z.B. aktive vs. abgeschlossene Fahrten)
  • Zeitreihendaten
  • Aufschlüsselungen pro Unterkonto

Was kommt als Nächstes?

Nachdem Sie Datenbankstatistiken verstehen, erkunden Sie diese verwandten Themen:

Systemzustand-Überwachung

Datenbankstatistiken bieten eine schnelle Zustandsprüfung für Ihr System. Machen Sie es sich zur Gewohnheit, diese Zahlen vor und nach größeren Datenoperationen zu überprüfen, um die Datenintegrität sicherzustellen.