Übersicht über die BigQuery BI Engine SQL-Schnittstelle

Über die BI Engine SQL-Schnittstelle

BigQuery BI Engine ist ein schneller In-Memory-Analysedienst, mit dem Nutzer in BigQuery gespeicherte Daten mit Antwortzeiten von weniger als einer Sekunde und mit hoher Parallelität analysieren können.

Die BI Engine SQL-Schnittstelle erweitert BI Engine in andere BI-Tools (Business Intelligence) wie Looker, Tableau, Power BI und benutzerdefinierte Anwendungen, um die explorative Datenanalyse zu beschleunigen. Auf dieser Seite erhalten Sie eine Übersicht über die BI Engine SQL-Schnittstelle und die erweiterten Funktionen dieser Vorschauversion von BI Engine.

Zugriff auf die Vorschau anfordern

Der Zugriff auf die BI Engine SQL-Schnittstelle in dieser Vorschauphase erfolgt über einen Registrierungsprozess. Für den Zugriff senden Sie das Anmeldeformular für die BI Engine-Vorschau mit Ihren Projektdetails. Sie werden per E-Mail benachrichtigt, sobald Ihr Projekt registriert ist.

Reservierungsgröße während der Vorschau erhöhen

Wenn Sie zusätzliche Speicherreservierungen als die Standardgröße von 100 GB benötigen, können Sie eine Erhöhung beantragen. Reservierungserhöhungen werden von Fall zu Fall bewertet und sind nur in bestimmten Regionen verfügbar.

Architektur der BI Engine

Die BI Engine SQL-Schnittstelle baut auf der vorhandenen BI Engine-Architektur für Google Data Studio auf. Im folgenden Diagramm ist die aktualisierte Architektur für BI Engine dargestellt:

Architektur der BI Engine

Diese Vorschauversion von BI Engine enthält Folgendes:

  1. BigQuery API: BI Engine kann direkt in die BigQuery API integriert werden. Jede BI-Lösung oder benutzerdefinierte Anwendung, die über die Standard-API wie Standard-JDBC- und ODBC-Treiber mit der BigQuery API arbeitet, kann BI Engine unverändert verwenden.
  2. Vektorisierte Laufzeit: Mit der BI Engine SQL-Schnittstelle bietet BI Engine eine modernere Technik, die als Vektorverarbeitung bezeichnet wird. Die vektorisierte Verarbeitung in einer Ausführungsengine ermöglicht eine effizientere Nutzung der modernen CPU-Architektur, da mehrere Batches von Daten gleichzeitig ausgeführt werden. BI Engine verwendet außerdem erweiterte Datencodierungen, insbesondere die Codierung von Wörterbüchern für das Wörterbuch, um die in der Speicherebene gespeicherten Daten weiter zu komprimieren.
  3. Metadaten: Die Metadaten speichern die Tabellen- und Ansichtsdefinitionen, die Schemadefinition und die detaillierten Berechtigungen.
  4. Reservierungen: BI Engine-Reservierungen verwalten die Arbeitsspeicherzuweisung auf Projektebene. BI Engine speichert nur Spalten und Partitionen im Cache, die abgefragt oder gescannt werden. Es speichert nicht die gesamte Tabelle im Cache.
  5. Verteilte In-Memory-Engine: BI Engine ist eine verteilte speicherinterne Ausführungs-Engine, mit der Kunden erheblich größere Speicherreservierungen zuweisen können.

Abfrageoptimierung und -beschleunigung

Mit BigQuery und durch die Erweiterung BI Engine wird der für eine SQL-Abfrage erstellte Abfrageplan in Unterabfragen aufgeschlüsselt. Eine Unterabfrage enthält eine Reihe von Vorgängen wie z. B. Scannen, Filtern oder Zusammenfassen von Daten. Sie ist häufig die Ausführungseinheit eines Shards.

Während alle von BigQuery unterstützten SQL-Abfragen von der BI Engine SQL-Schnittstelle korrekt ausgeführt werden, optimiert die Vorschauversion der BI Engine SQL-Schnittstelle nur bestimmte Unterabfragen. Insbesondere ist es am besten für Unterabfragen auf Blattebene optimiert, die die Daten aus dem Speicher scannen und Vorgänge wie Filter, Berechnung, Aggregation, Sortierung und bestimmte Arten von Joins ausführen. Andere Unterabfragen, die noch nicht vollständig von BI Engine beschleunigt wurden, werden zur Ausführung wieder in BigQuery zurückgesetzt.

Aufgrund dieser selektiven Optimierung profitieren einfache BI- oder Dashboard-Abfragen (was zu weniger Unterabfragen) am sinnvollsten ist, um BI Engine zu nutzen, da der Großteil der Ausführungszeit für Unterabfragen auf Blattebene berechnet wird, die diesen Prozess verarbeiten. Rohdaten.

Beschränkungen

In der folgenden Liste wird erläutert, wie und wann eine Abfrage beschleunigt wird, wenn Sie diese Vorschauversion von BI Engine verwenden:

  • In den Unterabfragen auf Blattebene ist die Beschleunigung auf Standard-SQL-Funktionen und -Operatoren beschränkt.
  • In dieser Vorschau ist die Anzahl der BI Engine-Kapazität pro Google Cloud-Projekt auf 100 GB beschränkt. Sie können eine Erhöhung der Kapazitätskapazität anfordern.
  • Die BigQuery-Streamingaufnahme wird während der Vorschau nicht unterstützt.
  • Die folgenden Einschränkungen gelten für die Größe und Anzahl der Zeilen:
    • Einfache Abfragen, die nur auf eine Tabelle verweisen, z. B. GROUP-BY- oder FILTER-Abfragen, werden hauptsächlich durch die Reservierungsgröße begrenzt.
    • Bei Joins ist die Beschleunigung auf Unterabfragen auf Blattebene mit INNER und LEFT OUTER-Joins beschränkt, wobei eine große (Fakte)-Tabelle mit bis zu vier kleinen und nicht partitionierten (Dimensions) Tabellen verknüpft ist. von jeder mit bis zu 5 Millionen Zeilen bzw. 5 GB Größe für die referenzierten Spalten.
  • Abfragen mit Bezug auf Platzhaltertabellen werden nicht unterstützt.
  • Diese Vorschauversion von BI Engine ist nicht in allen Regionen verfügbar. Weitere Informationen finden Sie unter Unterstützte Regionen.

Monitoring und Diagnose

In diesem Abschnitt wird erläutert, wie Sie Statistiken zu BI Engine abrufen und wie BI Engine mit Cloud Monitoring konform ist.

Acceleration-Statistiken

Detaillierte Statistiken über BI Engine sind über die Jobstatistiks-API verfügbar. Mit dem bq-Befehlszeilentool können Sie Statistiken abrufen, die mit BI Engine-beschleunigten Abfragen verknüpft sind.

Wenn die BI Engine-Beschleunigung aktiviert ist, können Sie eine Abfrage in einem der folgenden drei Modi ausführen:


DISABLED
BI Engine hat die Beschleunigung deaktiviert. biEngineReasons gibt einen detaillierteren Grund an. Die Abfrage wurde mit der BigQuery-Ausführungsengine ausgeführt.

PARTIAL
Ein Teil der Abfrage wurde mit BI Engine beschleunigt. Wie unter Abfrageoptimierung und -beschleunigung beschrieben, wird ein Abfrageplan im Allgemeinen in mehrere Unterabfragen unterteilt. Diese Vorschau von BI Engine unterstützt die allgemeinen Typen von Unterabfragemustern, die in der Regel im Dashboard verwendet werden. Wenn die Abfrage aus mehreren Unterabfragen besteht und nur einige davon unter die unterstützten Anwendungsfälle fallen, führt BI Engine die verbleibenden Unterabfragen mit der normalen BigQuery-Engine aus. Diese verbleibenden Unterabfragen erhalten die BI Engine-Beschleunigung nicht. In dieser Situation gibt BI Engine einen PARTIAL-Bezeichnungscode zurück und verwendet biEngineReasons, um den Grund für die Nicht- Beschleunigung anderer Abfragen anzugeben.

 FULL
 
Die Abfrage wurde mit BI Engine beschleunigt.

Führen Sie den folgenden Befehl des bq-Befehlszeilentools aus, um die mit BI Engine-beschleunigten Abfragen zugeordneten Statistiken abzurufen:

bq show --format=prettyjson -j job_id

Wenn das Projekt für die BI Engine-Beschleunigung aktiviert ist, erzeugt die Ausgabe das neue Feld biEngineStatistics. Hier ein Beispiel für einen Jobbericht:

 "statistics": {
    "creationTime": "1602175128902",
    "endTime": "1602175130700",
    "query": {
      "biEngineStatistics": {
        "biEngineMode": "DISABLED",
        "biEngineReasons": [
          {
            "code": "UNSUPPORTED_SQL_TEXT",
            "message": "Detected unsupported join type"
          }
        ]
      },

Weitere Informationen zum Feld BiEngineStatistics finden Sie in der Jobreferenz.

Cloud Monitoring

BI Engine wird in Cloud Monitoring eingebunden, um wichtige Messwerte für Monitoring- und Benachrichtigungszwecke anzuzeigen. Die folgenden Messwerte werden überwacht:

Ressourcentyp Messwertname Beschreibung
Projekt Reservierung Gesamtbytes Die Gesamtkapazität, die in einem Cloud-Projekt zugewiesen wurde.
Projekt Reservierung von benutzten Bytes Die gesamte in einem Cloud-Projekt verwendete Kapazität.

Feedback und aktuelle Informationen

Sobald Sie in der Vorschau angemeldet sind, können Sie in der Diskussionsgruppe Fragen und Kommentare posten. Wir nutzen diese Gruppe auch, um während der Vorschauphase regelmäßige Verbesserungen und Funktionen bereitzustellen.

Preise

Das aktuelle Preismodell wird auf der Preisübersicht für BI Engine beschrieben.

Unterstützte Regionen

Wie BigQuery ist BI Engine eine regionale und eine multiregionale Ressource. BI Engine verarbeitet Ihre Daten in derselben Region, in der sich Ihre Daten in BigQuery befinden.

Die Phase preview der BI Engine SQL-Schnittstelle unterstützt die folgenden Standorte.

Regionale Standorte

Beschreibung der Region Name der Region
Amerika
Los Angeles us-west2
Northern Virginia us-east4
Oregon us-west1
South Carolina us-east1
Europa
Belgien europe-west1
Asia Pacific
Singapur asia-southeast1
Tokio asia-northeast1

Multiregionale Standorte

Beschreibung des multiregionalen Standorts Name des multiregionalen Standorts
Rechenzentren in Mitgliedsstaaten der Europäischen Union1 EU
Rechenzentren in den USA US

1 Daten in der Multiregion EU werden nicht in den Rechenzentren europe-west2 (London) oder europe-west6 (Zürich) gespeichert.