WERBEPLATZ VERFÜGBAR · PARTNERSCHAFTEN WILLKOMMEN

Wie Data-Analytics-Teams Snowflake und Google BigQuery mit Dust für SQL-Abfragen in natürlicher Sprache verbinden

365Finds Editorial
11.430 Wiki-Artikel erfasst

365 Wiki mit deiner KI nutzen

Kopiere den Prompt unten, füge ihn in deine gewohnte KI ein und stelle direkt deine Frage.

Vollständigen Skill herunterladen

Probiere es zuerst mit dem Prompt aus. Wenn du 365 Wiki häufig nutzt, installiere den vollständigen 365Wiki Skill, damit du ihn nicht jedes Mal einfügen musst. Ohne bevorzugte KI funktionieren auch die Webversionen von Gemini oder Microsoft Copilot.

Datenanalyse- und Technical-Operations-Teams stehen regelmäßig vor demselben Engpass: Fachabteilungen fordern fortlaufend Ad-hoc-Metriken und Statusberichte an, während herkömmliche Self-Service-BI-Tools für nicht-technische Anwender zu komplex sind. Herkömmliche Wissensdatenbanken auf Basis von Retrieval-Augmented Generation (RAG) versagen in diesem Szenario vollständig. Semantische Suchen stützen sich auf die Vektorähnlichkeit von Textabschnitten und sind konzeptionell unfähig, Summen über Millionen von Zeilen zu berechnen, Datensätze zu gruppieren oder Konversionsraten dynamisch zu ermitteln.

Dust schließt diese Lücke durch strukturierte Konnektoren und die Funktion Table queries (Tabellenabfragen). Anstatt sensible Rohdaten zu migrieren oder zu duplizieren, verbindet sich Dust direkt mit Snowflake und Google BigQuery, indiziert lediglich die Metadaten der Tabellenschemata (Table Schemas) und befähigt KI-Agenten dazu, kontrollierte, reine Lese-SQL-Abfragen zu generieren und auszuführen. Die tabellarischen Resultate werden anschließend in verständliche Handlungsempfehlungen und dynamische Diagramme übersetzt.

Dieser Leitfaden erläutert die technische Architektur, Sicherheitsvorkehrungen, Berechtigungsmodelle und Best Practices zur Anbindung von Snowflake und BigQuery an Dust.


Architektur: Wie Dust Data Warehouses abfragt, ohne Rohdaten zu speichern

Bei der Anbindung unternehmenskritischer Data Warehouses an externe KI-Plattformen stehen Datenschutz und Data Governance an erster Stelle. Dust begegnet diesen Anforderungen mit einer reinen Metadaten-Architektur:

  1. Keine Rohdatensynchronisierung: Dust spiegelt oder speichert zu keinem Zeitpunkt Kundendatensätze aus Snowflake oder BigQuery. Das System erfasst ausschließlich strukturelle Metadaten: Datenbanknamen, Dataset-IDs, Schemanamen, Tabellennamen, Spaltennamen, Datentypen sowie in den Warehouses hinterlegte Feldbeschreibungen.
  2. Injektion des Schemakontexts: Stellt ein Mitarbeiter eine quantitative Frage (z. B. „Wie hoch war der durchschnittliche Bestellwert nach Region im letzten Quartal?“), nutzt der Agent die Schemadefinitionen, um relevante Kennzahlen und Tabellen zu identifizieren.
  3. Kontrollierte SQL-Generierung: Das Sprachmodell formuliert eine präzise SQL-Abfrage nach den Regeln des jeweiligen Zieldialekts (Snowflake SQL oder GoogleSQL).
  4. Direkte Ausführung mit Nur-Lese-Rechten: Die Abfrage wird über verschlüsselte Verbindungen direkt an das Warehouse übermittelt und unter strikt lesenden Dienstkonten ausgeführt.
  5. Ergebnissynthese und transparente Prüfung: Dust aggregiert die Rückgabewerte, verfasst eine Antwort in natürlicher Sprache und bietet über die Schaltfläche Tools inspection (Werkzeugprüfung) volle Transparenz über den generierten SQL-Code, die Ausführungsdauer und die Rohdaten.

Option 1: Snowflake mit Dust verbinden

Dust unterstützt zwei verschiedene Integrationspfade für Snowflake: die Snowflake Connection (verwaltete Warehouse-Verbindung) über Spaces > Connections sowie das Snowflake Tool (OAuth-basiertes Agenten-Werkzeug). Für den produktiven Einsatz zur Bereitstellung verifizierter Unternehmenskennzahlen nutzen Data-Teams in der Regel die Snowflake Connection.

1. Sicherheits- und Infrastruktur-Setup in Snowflake

Erstellen Sie nach dem Least-Privilege-Prinzip ein dediziertes Compute-Warehouse, ein Dienstkonto und eine Zugriffsrolle in Snowflake:

-- Schritt 1: Dedizierte Rolle anlegen
CREATE ROLE dust_role;

-- Schritt 2: Dediziertes Compute-Warehouse mit Auto-Suspend einrichten
CREATE WAREHOUSE dust_warehouse
WITH WAREHOUSE_SIZE = 'XSMALL'
AUTO_SUSPEND = 300
AUTO_RESUME = TRUE;

GRANT USAGE ON WAREHOUSE dust_warehouse TO ROLE dust_role;

Authentifizierungsmethode: Schlüsselpaar vs. Passwort

Da Snowflake einfache Passwortauthentifizierungen für automatisierte Schnittstellen zunehmend einschränkt, wird für Produktivumgebungen die RSA-Schlüsselpaar-Authentifizierung (Key Pair Authentication) dringend empfohlen.

Einrichtung der RSA-Schlüsselpaar-Authentifizierung (Empfohlen):

  1. Erzeugen Sie einen privaten 2048-Bit-RSA-Schlüssel und den zugehörigen öffentlichen Schlüssel:
    openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out dust_rsa_key.p8 -nocrypt
    openssl rsa -in dust_rsa_key.p8 -pubout -out dust_rsa_key.pub
    
  2. Extrahieren Sie den öffentlichen Schlüssel ohne Header, Footer und Zeilenumbrüche:
    cat dust_rsa_key.pub | grep -v "BEGIN PUBLIC KEY" | grep -v "END PUBLIC KEY" | tr -d '\n'
    
  3. Erstellen Sie den Snowflake-Benutzer mit gebundenem öffentlichem Schlüssel:
    CREATE USER dust_user
      DEFAULT_ROLE = dust_role
      RSA_PUBLIC_KEY = '<HIER_BEREINIGTEN_PUBLIC_KEY_EINFUEGEN>';
    
    GRANT ROLE dust_role TO USER dust_user;
    

Alternative (Passwort-Authentifizierung):

CREATE USER dust_user
  PASSWORD = 'YourStrongPasswordHere'
  DEFAULT_ROLE = dust_role;

GRANT ROLE dust_role TO USER dust_user;

2. Netzwerkrichtlinien und Vergabe von Nur-Lese-Rechten

Falls Ihr Snowflake-Konto IP-Restriktionen über Network Policies erzwingt, tragen Sie die statischen Egress-IP-Adressen von Dust in die Zulassungsliste ein:

Vergeben Sie anschließend Metadaten- und Lesezugriffsrechte. Der Dust-Konnektor prüft die Berechtigungen streng und blockiert Rollen mit Schreib- oder Änderungsrechten (INSERT, UPDATE, DELETE, MERGE):

-- USAGE auf Datenbank und Schema vergeben
GRANT USAGE ON DATABASE analytics_dw TO ROLE dust_role;
GRANT USAGE ON SCHEMA analytics_dw.marts TO ROLE dust_role;

-- SELECT auf physische Tabellen gewähren
GRANT SELECT ON ALL TABLES IN SCHEMA analytics_dw.marts TO ROLE dust_role;
GRANT SELECT ON FUTURE TABLES IN SCHEMA analytics_dw.marts TO ROLE dust_role;

Wichtiger Hinweis: Die verwaltete Snowflake Connection berücksichtigt ausschließlich physische Tabellen (Tables). Standardansichten (Views) und materialisierte Ansichten (Materialized Views) werden ignoriert. Erfordert Ihr Datenmodell Abfragen auf Views, nutzen Sie das OAuth-basierte Snowflake Tool.

3. Verbindung in der Dust-Verwaltung aktivieren

  1. Navigieren Sie in Dust zu Spaces > Connections, klicken Sie auf Add Connections und wählen Sie Snowflake.
  2. Wählen Sie Key Pair Authentication (oder Passwort).
  3. Hinterlegen Sie die Verbindungsparameter:
    • Account Identifier: Snowflake-Account-ID (z. B. xy12345.us-east-1 oder organisation-account).
    • Role: dust_role.
    • Warehouse: dust_warehouse.
    • Username: dust_user.
    • Private Key: Fügen Sie den vollständigen Inhalt der PEM-Datei einschließlich Header und Footer ein.
  4. Wählen Sie im Metadatenbaum die Datenbanken, Schemata und Tabellen aus, die freigegeben werden sollen.

Option 2: Google BigQuery mit Dust verbinden

Google BigQuery wird über Dienstkontoschlüssel von Google Cloud Platform (GCP) IAM an Dust angebunden und bietet native Standortisolation sowie die automatische Übernahme von Spaltenkommentaren.

1. GCP-Dienstkonto und Berechtigungen einrichten

  1. Öffnen Sie in der Google Cloud Console den Bereich IAM & Verwaltung > Dienstkonten.
  2. Klicken Sie auf Dienstkonto erstellen und vergeben Sie einen Namen (z. B. dust-warehouse-sa).
  3. Weisen Sie die beiden erforderlichen Mindestrollen zu:
    • roles/bigquery.user: Erlaubt Dust das Ausführen von Abfragejobs (Query Jobs), das Auflisten von Datasets und die Nutzung von Compute-Ressourcen.
    • roles/bigquery.dataViewer: Berechtigt zur Schema-Einsicht und zum Lesen von Tabellendaten.
  4. Öffnen Sie den Reiter Schlüssel des neu erstellten Kontos.
  5. Wählen Sie Schlüssel hinzufügen > Neuen Schlüssel erstellen > JSON.
  6. Speichern Sie die heruntergeladene JSON-Schlüsseldatei sicher ab.

2. BigQuery in Dust registrieren

  1. Wechseln Sie in Dust zu Spaces > Connections > Add Connections und wählen Sie BigQuery.
  2. Fügen Sie den vollständigen Inhalt der JSON-Schlüsseldatei ein.
  3. BigQuery-Standort festlegen (Location): BigQuery untersagt regionenübergreifende Abfragen (z. B. Joins zwischen EU- und US-Datasets). Wählen Sie den Standort (z. B. US, EU, us-central1), an dem alle für diese Verbindung vorgesehenen Datasets liegen.
  4. Markieren Sie die bereitzustellenden Datasets und Tabellen.
  5. „Use BigQuery descriptions“ aktivieren: Durch Aktivieren dieser Option importiert Dust Beschreibungen von Tabellen und Spalten direkt aus BigQuery, sodass keine manuelle Dokumentation in System-Prompts notwendig ist.

Vergleich: Snowflake Connection vs. Snowflake Tool

Vor der Einführung sollten Datenarchitekten die Unterschiede zwischen den beiden Snowflake-Modellen abwägen:

BewertungskriteriumSnowflake Connection (Verwaltete Verbindung)Snowflake Tool (OAuth-Werkzeug)
HaupteinsatzbereichVorkonfigurierte, verifizierte Kennzahlen für Business-TeamsDynamische Schema-Exploration und Ad-hoc-View-Abfragen für Analysten
AuthentifizierungsmodellZentrales Dienstkonto (Schlüsselpaar oder Passwort)Benutzer-OAuth (individuelle Rollen) oder Workspace-OAuth
ObjektunterstützungNur physische Tabellen (Views ausgeschlossen)Physische Tabellen, Standard-Views und Materialized Views
ZeilenbegrenzungBis zu 25.000 Zeilen pro AbfrageBis zu 1.000 Zeilen pro Ausführung
Schema-ErkennungVorab durch Administratoren in Space-Einstellungen festgelegtAgent ruft dynamisch list_schemas, describe_table auf
Multi-Statement-SchutzBlockiertBlockiert

Konfiguration und Prompt-Design für KI-Analyse-Agenten

Sobald die Tabellen im Space hinterlegt sind, können Data-Teams maßgeschneiderte Fachagenten (z. B. @vertriebsanalyst oder @finance-bot) anlegen.

1. Zuweisung des Werkzeugs Query Tables

  1. Öffnen Sie in Dust den Agent Builder > Instructions & Tools.
  2. Klicken Sie unter Action & Data sources auf Add a tool und wählen Sie Query Tables.
  3. Wählen Sie die relevanten Tabellen aus Snowflake oder BigQuery aus (z. B. marts.fct_daily_orders).

2. Definition von Verknüpfungsregeln (JOINs) und Geschäftslogik

Obwohl Sprachmodelle Spaltentypen automatisch erkennen, verhindern präzise Prompts Fehlinterpretationen bei komplexen Joins und Metriken:

Du bist ein Datenanalyse-Agent für operative Unternehmenskennzahlen. Du hast Zugriff auf folgende Tabellen:
- fct_orders: Historische Bestellungen, Beträge und Erfüllungsstatus.
- dim_customers: Kundenstatus, Registrierungsdatum und demografische Daten.

Regeln für die SQL-Generierung:
1. Verknüpfe Tabellen stets über dim_customers.customer_id = fct_orders.customer_id.
2. Filtere bei Umsatzabfragen stets nach order_status = 'COMPLETED', sofern nicht ausdrücklich die Brutto-Pipeline verlangt wird.
3. Vermeide SELECT * und frage ausschließlich die zur Beantwortung nötigen Spalten ab.
4. Führe zeitliche Aggregationen auf Basis von Standardmonaten oder -quartalen in UTC durch.
5. Ergänze tabellarische Auswertungen immer um eine kurze Zusammenfassung in natürlicher Sprache, die zentrale Trends hervorhebt.

3. Transparenz und Auditierbarkeit mit Tools Inspection

Nach einer Nutzeranfrage übernimmt Dust das Laden der Metadaten, die SQL-Generierung, die Warehouse-Ausführung und die Antwortaufbereitung. Über die Schaltfläche Tools inspection können Teammitglieder den konkreten SQL-Code, die Ausführungszeit und die Rohdaten einsehen, wodurch intransparente Berechnungen vermieden werden.


Best Practices für Daten- und Analytics-Teams

  1. Modellierte Data Marts (Gold-Layer) bereitstellen: Binden Sie dbt-optimierte Kennzahlentabellen anstelle unbereinigter Bronze-Rohdaten an. Klare Schemata steigern die Trefferquote des generierten SQLs signifikant.
  2. Spaltenbeschreibungen im Data Warehouse pflegen: Nutzen Sie DDL-Kommentare (COMMENT) in Snowflake und BigQuery. Die automatische Übernahme dieser Beschreibungen ermöglicht es der KI, Fachabkürzungen (z. B. MRR, CAC, LTV) ohne Prompt-Ballast korrekt zuzuordnen.
  3. Compute-Kosten kontrollieren:
    • In Snowflake ein XSMALL-Warehouse mit einem AUTO_SUSPEND-Intervall von maximal 300 Sekunden konfigurieren.
    • In BigQuery Scan-Byte-Limits auf Dienstkontoebene festlegen, um kostspielige Full-Table-Scans zu unterbinden.
  4. Strukturierte und unstrukturierte Daten kombinieren: Ein Agent kann das Werkzeug Query Tables mit Search Data Source (Dokumenten-RAG) kombinieren. Dadurch lassen sich quantitative Umsatzdaten aus BigQuery direkt mit strategischen Meeting-Notizen in Notion oder Google Drive verknüpfen, um die Ursachen von Kennzahlenschwankungen zu erläutern.

Referenzen