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:
- 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.
- 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.
- Kontrollierte SQL-Generierung: Das Sprachmodell formuliert eine präzise SQL-Abfrage nach den Regeln des jeweiligen Zieldialekts (Snowflake SQL oder GoogleSQL).
- 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.
- 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):
- 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 - 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' - 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:
- US-Workspaces (
https://dust.tt):34.46.9.232 - EU-Workspaces (
https://eu.dust.tt):35.195.191.222
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
- Navigieren Sie in Dust zu Spaces > Connections, klicken Sie auf Add Connections und wählen Sie Snowflake.
- Wählen Sie Key Pair Authentication (oder Passwort).
- Hinterlegen Sie die Verbindungsparameter:
- Account Identifier: Snowflake-Account-ID (z. B.
xy12345.us-east-1oderorganisation-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.
- Account Identifier: Snowflake-Account-ID (z. B.
- 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
- Öffnen Sie in der Google Cloud Console den Bereich IAM & Verwaltung > Dienstkonten.
- Klicken Sie auf Dienstkonto erstellen und vergeben Sie einen Namen (z. B.
dust-warehouse-sa). - 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.
- Öffnen Sie den Reiter Schlüssel des neu erstellten Kontos.
- Wählen Sie Schlüssel hinzufügen > Neuen Schlüssel erstellen > JSON.
- Speichern Sie die heruntergeladene JSON-Schlüsseldatei sicher ab.
2. BigQuery in Dust registrieren
- Wechseln Sie in Dust zu Spaces > Connections > Add Connections und wählen Sie BigQuery.
- Fügen Sie den vollständigen Inhalt der JSON-Schlüsseldatei ein.
- BigQuery-Standort festlegen (Location): BigQuery untersagt regionenübergreifende Abfragen (z. B. Joins zwischen
EU- undUS-Datasets). Wählen Sie den Standort (z. B.US,EU,us-central1), an dem alle für diese Verbindung vorgesehenen Datasets liegen. - Markieren Sie die bereitzustellenden Datasets und Tabellen.
- „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:
| Bewertungskriterium | Snowflake Connection (Verwaltete Verbindung) | Snowflake Tool (OAuth-Werkzeug) |
|---|---|---|
| Haupteinsatzbereich | Vorkonfigurierte, verifizierte Kennzahlen für Business-Teams | Dynamische Schema-Exploration und Ad-hoc-View-Abfragen für Analysten |
| Authentifizierungsmodell | Zentrales Dienstkonto (Schlüsselpaar oder Passwort) | Benutzer-OAuth (individuelle Rollen) oder Workspace-OAuth |
| Objektunterstützung | Nur physische Tabellen (Views ausgeschlossen) | Physische Tabellen, Standard-Views und Materialized Views |
| Zeilenbegrenzung | Bis zu 25.000 Zeilen pro Abfrage | Bis zu 1.000 Zeilen pro Ausführung |
| Schema-Erkennung | Vorab durch Administratoren in Space-Einstellungen festgelegt | Agent ruft dynamisch list_schemas, describe_table auf |
| Multi-Statement-Schutz | Blockiert | Blockiert |
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
- Öffnen Sie in Dust den Agent Builder > Instructions & Tools.
- Klicken Sie unter Action & Data sources auf Add a tool und wählen Sie Query Tables.
- 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
- 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.
- 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.
- Compute-Kosten kontrollieren:
- In Snowflake ein
XSMALL-Warehouse mit einemAUTO_SUSPEND-Intervall von maximal 300 Sekunden konfigurieren. - In BigQuery Scan-Byte-Limits auf Dienstkontoebene festlegen, um kostspielige Full-Table-Scans zu unterbinden.
- In Snowflake ein
- Strukturierte und unstrukturierte Daten kombinieren: Ein Agent kann das Werkzeug
Query TablesmitSearch 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.