Datastore-Statistiken

Mit Firestore im Datastore-Modus (Datenspeicher) werden Statistiken zu den Daten erstellt, die Sie in einem wie viele Entitäten es gibt, welcher Art oder wie viele Leerzeichen wird für Eigenschaftswerte eines bestimmten Typs verwendet.

Sie können diese Statistiken in der Google Cloud Console in einer der auf folgende Arten:

  • Auf der Dashboard-Seite.
  • Führen Sie auf der Seite Entitäten eine GQL-Abfrage in der Form SELECT * FROM __Stat_Kind__ aus.
  • Programmgesteuert innerhalb der Anwendung durch Abfragen nach speziell benannten Entitäten mithilfe der Datastore API. Weitere Informationen zur Datastore API zu verwenden, siehe APIs und Referenz.

Datastore verwendet Artnamen, die mit zwei Unterstrichen beginnen und enden, um um spezielle Entitäten zu identifizieren, die Statistiken über Ihre Daten bereitstellen. Dies sind werden als Statistikentitäten bezeichnet. Jede App hat z. B. eine Entität des Typs __Stat_Total__ für Statistiken zu allen Entitäten in einem Datenbank im Datastore-Modus.

Statistikentitäten verfolgen Informationen zu Ihren Daten und geben Ihnen Einblicke in Ihrer Datennutzung. Sie werden automatisch erstellt. Jede Statistikentität hat die folgenden Properties:

  • count: die Anzahl der in der Statistik berücksichtigten Elemente (eine lange Ganzzahl)
  • bytes: die Gesamtgröße der Elemente für diese Statistik (eine lange Ganzzahl)
  • timestamp: der Zeitpunkt der letzten Aktualisierung der Statistik (ein Datum-Uhrzeit-Wert)

Jede Entität gehört zu einer bestimmten Art. Statistikart gibt die Kategorie an. von Statistiken, die erhoben oder verwendet werden. Verwenden Sie die Art, um den Zweck eines Statistik, z. B. das Optimieren einer Abfrage, das Verbessern der Leistung oder die Datenanalyse.

Einige Statistiktypen haben zusätzliche Eigenschaften, die in der Liste der Statistik dieses Dokuments.

Erstellt das Statistiksystem neue Statistikentitäten, werden diese nicht gelöscht. sofort mit den vorherigen Statistikentitäten beginnen. Der beste Weg, um einen einheitlichen Überblick Die Statistik besteht darin, die Statistikentität mit dem aktuellen timestamp abzufragen und diese dann zu verwenden Zeitstempelwert als Filter verwenden, wenn Sie andere Statistikentitäten abrufen.

Das Statistiksystem erstellt auch Statistiken, die für jeden Namespace spezifisch sind. Die Artnamen von Namespace-spezifischen Statistiken sind dem Präfix __Stat_Ns__, gefolgt von den gleichen Suffixen wie die Typnamen von Statistiken, die für die gesamte Anwendung gelten.

Wenn eine Anwendung keine Namespaces verwendet, erstellt das Statistiksystem keine Namespace-spezifische Statistiken. Sie können nur Namespace-spezifische Statistiken finden in dem Namespace enthalten, für den sie relevant sind.

Liste der Statistiken

Im Folgenden finden Sie eine Liste der verfügbaren Statistiken:

Statistik Typ der Statistikentität Beschreibung
Alle Entitäten __Stat_Total__
Namespace-spezifischer Eintrag:
__Stat_Ns_Total__
Alle Entitäten. Zusätzliche Attribute:

entity_bytes: der Speicherplatz in der Entitätstabelle, gemessen in Byte
builtin_index_bytes: der Speicherplatz in integrierten Indexeinträgen, gemessen in Byte
builtin_index_count: die Anzahl der integrierten Indexeinträge
composite_index_bytes: der Speicherplatz in zusammengesetzten Indexeinträgen, gemessen in Byte
composite_index_count: die Anzahl der zusammengesetzten Indexeinträge.
Alle Entitäten in einem Namespace __Stat_Namespace__
Beachten Sie, dass __Stat_Namespace__-Entitäten für jeden ermittelten Namespace erstellt werden und nur im leeren String-Namespace enthalten sind.
Alle Entitäten in einem Namespace

subject_namespace: der dargestellte Namespace (ein String)
entity_bytes: der Speicherplatz in der Entitätstabelle, gemessen in Byte
builtin_index_bytes: der Speicherplatz in integrierten Indexeinträgen, gemessen in Byte
builtin_index_count: die Anzahl der integrierten Indexeinträge
composite_index_bytes: der Speicherplatz in zusammengesetzten Indexeinträgen, gemessen in Byte
composite_index_count: die Anzahl der zusammengesetzten Indexeinträge.

Weitere Informationen finden Sie in diesem Dokument im Abschnitt Statistikbeschränkungen.
Alle Einträge in von der Anwendung definierten Indexen __Stat_Kind_CompositeIndex__
Namespace-spezifischer Eintrag: __Stat_Ns_Kind_CompositeIndex__
Einträge in der zusammengesetzten Indextabelle; eine Statistikentität für jeden gespeicherten Entitätstyp. Zusätzliche Attribute:

index_id: die Index-ID.
kind_name: der Name des dargestellten Typs (ein String)
Entitäten eines Typs __Stat_Kind__
Namespace-spezifischer Eintrag:
__Stat_Ns_Kind__
Entitäten einer Art; eine Statistikentität für jede gespeicherte Entitätsart Zusätzliche Attribute:

kind_name: der Name des dargestellten Typs (ein String)
entity_bytes: der Speicherplatz in der Entitätstabelle, gemessen in Byte
builtin_index_bytes: der Speicherplatz in integrierten Indexeinträgen, gemessen in Byte
builtin_index_count: die Anzahl der integrierten Indexeinträge
composite_index_bytes: der Speicherplatz in zusammengesetzten Indexeinträgen, gemessen in Byte
composite_index_count: die Anzahl der zusammengesetzten Indexeinträge.
Stammentitäten eines Typs __Stat_Kind_IsRootEntity__
Namespace-spezifischer Eintrag:
__Stat_Ns_Kind_IsRootEntity__
Entitäten einer Art, die Entitätsgruppen-Stammentitäten sind (kein übergeordnetes Element haben); eine Statistikentität für jede gespeicherte Entitätsart Zusätzliche Attribute:

kind_name: der Name des dargestellten Typs (ein String)
entity_bytes: der Speicherplatz in der Entitätstabelle, gemessen in Byte.
Nicht-Stammentitäten eines Typs __Stat_Kind_NotRootEntity__
Namespace-spezifischer Eintrag:
__Stat_Ns_Kind_NotRootEntity__
Entitäten einer Art, die keine Entitätsgruppen-Stammentitäten sind (ein übergeordnetes Element haben); eine Statistikentität für jede gespeicherte Entitätsart Zusätzliche Attribute:

kind_name: der Name des dargestellten Typs (ein String)
entity_bytes: der Speicherplatz in der Entitätstabelle, gemessen in Byte.
Attribute eines Typs __Stat_PropertyType__
Namespace-spezifischer Eintrag:
__Stat_Ns_PropertyType__
Attribute eines Werttyps über alle Entitäten hinweg; eine Statistikentität pro Werttyp Zusätzliche Attribute:

property_type: der Name des Werttyps (ein String)
entity_bytes: der Speicherplatz in der Entitätstabelle, gemessen in Byte
builtin_index_bytes: der Speicherplatz in integrierten Indexeinträgen, gemessen in Byte
builtin_index_count: die Anzahl der integrierten Indexeinträge
Attribute eines Typs pro Entitätstyp __Stat_PropertyType_Kind__
Namespace-spezifischer Eintrag:
__Stat_Ns_PropertyType_Kind__
Attribute eines Werttyps über Entitäten einer bestimmten Art hinweg; eine Statistikentität pro Kombination aus Attributtyp und Entitätsart

Zusätzliche Attribute:

property_type: der Name des Werttyps (ein String)
kind_name: der Name des dargestellten Typs (ein String)
entity_bytes: der Speicherplatz in der Entitätstabelle, gemessen in Byte
builtin_index_bytes: der Speicherplatz im integrierten Index, gemessen in Byte
builtin_index_count: die Anzahl der integrierten Indexeinträge.

Weitere Informationen finden Sie in diesem Dokument im Abschnitt Statistikeinschränkungen.
Attribute mit einem Namen __Stat_PropertyName_Kind__
Namespace-spezifischer Eintrag:
__Stat_Ns_PropertyName_Kind__
Attribute mit einem bestimmten Namen über Entitäten einer bestimmten Art hinweg; eine Statistikentität pro Kombination aus eindeutigem Attributnamen und Entitätsart Zusätzliche Attribute:

property_name: der Name des Attributs (ein String)
kind_name: der Name des dargestellten Typs (ein String)
entity_bytes: der Speicherplatz in der Entitätstabelle, gemessen in Byte
builtin_index_bytes: der Speicherplatz in integrierten Indexeinträgen, gemessen in Byte
builtin_index_count: die Anzahl der integrierten Indexeinträge
Attribute eines Typs und mit einem Namen __Stat_PropertyType_PropertyName_Kind__
Namespace-spezifischer Eintrag:
__Stat_Ns_PropertyType_PropertyName_Kind__
Attribute mit einem bestimmten Namen und einem bestimmten Werttyp über Entitäten eines bestimmten Typs hinweg; eine Statistikentität pro Kombination aus Attributname, Werttyp und Entitätstyp, die in der Datenbank vorhanden ist.

Zusätzliche Attribute:

property_type: der Name des Werttyps (ein String)
property_name: der Name des Attributs (ein String).
kind_name: der Name des dargestellten Typs (ein String).
entity_bytes: der Speicherplatz in der Entitätstabelle, gemessen in Byte
builtin_index_bytes: der Speicherplatz in integrierten Indexeinträgen, gemessen in Byte
builtin_index_count: die Anzahl der integrierten Indexeinträge.

Weitere Informationen finden Sie in diesem Dokument im Abschnitt Statistikeinschränkungen.

Einige Statistiken beziehen sich auf Werttypen von Attributen nach deren Namen, wie Strings. Diese Namen sind:

  • "Blob"
  • "BlobKey"
  • "Boolean"
  • "Category"
  • "Date/Time"
  • "Email"
  • "Float"
  • "GeoPt"
  • "IM"
  • "Integer"
  • "Key"
  • "Link"
  • "NULL"
  • "PhoneNumber"
  • "PostalAddress"
  • "Rating"
  • "ShortBlob"
  • "String"
  • "Text"
  • "User"

Statistische Einschränkungen

Für Statistiken gelten folgende Einschränkungen:

  • Die Attribute __Stat_PropertyType_Kind__ und __Stat_PropertyType_PropertyName_Kind__ geben Metadaten des Attributtyps für Array-Werttypen zurück und erfassen den Attributtyp für jeden Wert im Array separat. Wenn eine Arrayeigenschaft beispielsweise eine Liste von Strings speichert, zeichnet das Attribut den Eigenschaftstyp als STRING auf, während der tatsächliche Eigenschaftstyp ARRAY<STRING> ist.
  • Die __Stat_Namespace__-Entitäten enthalten die gleichen Informationen wie die __Stat_Ns_Total__-Datensätze. Entitäten vom Typ __Stat_Namespace__ werden im leeren Namespace gespeichert und enthalten das Feld subject_namespace. Dieses Feld beschreibt den Namespace, zu dem sie gehören. Datensätze vom Typ __Stat_Ns_Total__ werden in dem Namespace gespeichert, auf den sie sich beziehen, und enthalten daher kein Feld subject_namespace. Somit führt eine Abfrage nach Art __Stat_Namespace__ (aus dem leeren String-Namespace), sortiert in absteigender Reihenfolge nach bytes, zuerst die Namespaces auf, die den meisten Speicherplatz belegen. Da Abfragen über mehrere Namespaces hinweg nicht möglich sind, wird jede Abfrage nach __Stat_Ns_Total__-Entitäten immer nur maximal einen Datensatz erzeugen.

Reihenfolge der Statistikentitäten verlassen

Anwendungen mit Tausenden von Namespaces, Arten oder Attributnamen erfordern einer großen Anzahl von Statistikentitäten. Um den Speicheraufwand zu reduzieren und Statistiken aktualisieren, werden Datenbanken von Firestore im Datastore-Modus schrittweise aktualisiert, Statistikentitäten werden in der unten aufgeführten Reihenfolge gelöscht.

Die zusammenfassenden Statistikentitäten __Stat_Kind_CompositeIndex__, __Stat_PropertyType__, und __Stat_Total__ werden nie gelöscht.

Statistikentitäten werden in Gruppen in der folgenden Standardreihenfolge abgelegt:

  1. Statistiken pro Namespace, pro Typ und pro Attribut:

    • __Stat_Ns_PropertyName_Kind__
    • __Stat_Ns_PropertyType_PropertyName_Kind__
  2. Statistiken pro Typ und pro Attribut

    • __Stat_PropertyName_Kind__
    • __Stat_PropertyType_PropertyName_Kind__
  3. Statistiken pro Namespace

    • __Stat_Namespace__
    • __Stat_Ns_Kind_CompositeIndex__
    • __Stat_Ns_PropertyType__
    • __Stat_Ns_Total__

Statistikentitäten von Typen weisen die folgende Drop-Reihenfolge auf:

  1. Statistiken pro Namespace und pro Typ

    • __Stat_Ns_Kind__
    • __Stat_Ns_Kind_IsRootEntity__
    • __Stat_Ns_Kind_NotRootEntity__
    • __Stat_Ns_PropertyType_Kind__
  2. Statistiken pro Art

    • __Stat_Kind__
    • __Stat_Kind_IsRootEntity__
    • __Stat_Kind_NotRootEntity__
    • __Stat_PropertyType_Kind__

Nächste Schritte