Migration von Snowflock zu BigQuery

Dieses Dokument bietet eine Einführung in die Migration von Snowflake zu BigQuery. In den folgenden Abschnitten werden die Migrationstools vorgestellt, mit denen Sie eine BigQuery-Migration durchführen können. Außerdem werden einige Unterschiede zwischen Snowflake und BigQuery beschrieben, damit Sie Ihre Migration planen können.

Workflows von Snowflake zu BigQuery migrieren

Berücksichtigen Sie bei der Planung einer BigQuery-Migration die verschiedenen Workflows, die Sie in Snowflake haben, und wie Sie sie einzeln migrieren können. Um die Auswirkungen auf Ihre bestehenden Vorgänge zu minimieren, empfehlen wir, zuerst Ihre SQL-Abfragen zu BigQuery zu migrieren und dann Ihr Schema und Ihren Code.

SQL-Abfragen migrieren

Für die Migration Ihrer SQL-Abfragen bietet der BigQuery-Migrationsdienst verschiedene SQL-Übersetzungsfunktionen, um die Konvertierung Ihrer Snowflake-SQL-Abfragen in GoogleSQL-SQL zu automatisieren, z. B. den Batch-SQL-Übersetzer zum Übersetzen von Abfragen im Bulk, den interaktiven SQL-Übersetzer zum Übersetzen einzelner Abfragen und die SQL Translation API. Diese Übersetzungsdienste umfassen auch Gemini-basierte Funktionen, um die Migration von SQL-Abfrage weiter zu vereinfachen.

Prüfen Sie die übersetzten SQL-Abfragen sorgfältig, um sicherzustellen, dass Datentypen und Tabellenstrukturen korrekt behandelt werden. Dazu empfehlen wir, eine Vielzahl von Testläufen mit verschiedenen Szenarien und Daten zu erstellen. Führen Sie diese Testläufe dann in BigQuery aus, um die Ergebnisse mit den ursprünglichen Snowflake-Ergebnissen zu vergleichen. Wenn es Unterschiede gibt, analysieren und beheben Sie die konvertierten Abfragen.

Schema und Code migrieren

Wenn Sie Schema und Daten aus Snowflake migrieren möchten, verwenden Sie den Snowflake-Connector im BigQuery Data Transfer Service, um eine Datenübertragung einzurichten. Beim Einrichten der Datenübertragung können Sie bestimmte Snowflake-Tabellen angeben, die einbezogen werden sollen. Außerdem kann der Connector das Tabellenschema und die Datentypen während einer Übertragung automatisch erkennen.

Weitere Informationen zum Einrichten einer Snowflake-Datenübertragung finden Sie unter Snowflake-Übertragung planen.

BigQuery-Sicherheitsfunktionen

Wenn Sie von Snowflake zu BigQuery migrieren, müssen Sie berücksichtigen, wieGoogle Cloud die Sicherheit anders als bei Snowflake gewährleistet.

Die Sicherheit in BigQuery ist untrennbar mit der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) in Google Cloudverknüpft. IAM-Berechtigungen definieren die Vorgänge, die für eine Ressource zulässig sind, und werden auf der Google Cloud Ebene erzwungen. So wird ein zentraler und einheitlicher Ansatz für die Sicherheitsverwaltung geboten. Hier sind einige wichtige Sicherheitsfunktionen von Google Cloud:

  • Integrierte Sicherheit: BigQuery nutzt die Sicherheitsfunktionen von Google Cloud. Dazu gehört IAM für eine detaillierte Zugriffssteuerung für eine robuste und nahtlose Sicherheitsintegration.
  • Sicherheit auf Ressourcenebene: IAM konzentriert sich auf die Zugriffssteuerung auf Ressourcenebene und gewährt Nutzern und Gruppen Berechtigungen für verschiedene BigQuery-Ressourcen und -Dienste. So lassen sich Zugriffsrechte effektiv verwalten, sodass Nutzer nur die Berechtigungen haben, die sie für ihre Aufgaben benötigen.
  • Netzwerksicherheit: BigQuery profitiert von den robusten Netzwerksicherheitsfunktionen von Google Cloud, z. B. Virtual Private Cloud und privaten Verbindungen.

Bei der Migration von Snowflake zu BigQuery müssen Sie die folgenden sicherheitsrelevanten Migrationsanforderungen berücksichtigen:

  • IAM-Konfiguration: Sie müssen IAM-Rollen und -Berechtigungen in BigQuery so konfigurieren, dass sie Ihren vorhandenen Snowflake-Zugriffssteuerungsrichtlinien entsprechen. Dazu müssen Snowflake-Rollen den entsprechenden IAM-Rollen und ‑Berechtigungen für BigQuery zugeordnet werden.
  • Detaillierte Zugriffssteuerung: Wenn Sie in Snowflake Sicherheit auf Zeilen- oder Spaltenebene verwenden, müssen Sie in BigQuery entsprechende Steuerelemente mit autorisierten Ansichten oder Richtlinien-Tags implementieren.
  • Migration von Ansichten und UDFs: Prüfen Sie bei der Migration von Ansichten und UDFs, ob die zugehörigen Sicherheitskontrollen korrekt in autorisierte Ansichten und autorisierte UDFs in BigQuery übersetzt wurden.

Verschlüsselung

BigQuery verschlüsselt Ihre Daten standardmäßig bei Inaktivität und bei der Übertragung. Wenn Sie mehr Kontrolle über Verschlüsselungsschlüssel benötigen, unterstützt BigQuery kundenverwaltete Verschlüsselungsschlüssel im Cloud Key Management Service. Sie können auch die Verschlüsselung auf Spaltenebene verwenden.

Beachten Sie Folgendes, um die Datensicherheit während und nach der Migration zu BigQuery zu gewährleisten:

  • Schlüsselverwaltung: Wenn Sie vom Kunden verwaltete Schlüssel benötigen, legen Sie eine Schlüsselverwaltungsstrategie in Cloud Key Management Service fest und konfigurieren Sie BigQuery so, dass diese Schlüssel verwendet werden.
  • Datenmaskierung/Tokenisierung: Wenn sensible Daten betroffen sind, prüfen Sie, ob eine Datenmaskierung oder Tokenisierung erforderlich ist, um sie zu schützen.
  • Sicherheit auf Zeilenebene: Implementieren Sie die Sicherheit auf Zeilenebene mithilfe von autorisierten Ansichten, Filtern für die Sicherheit auf Zeilenebene oder anderen geeigneten Methoden.
  • Scannen auf Sicherheitslücken und Penetrationstests: Führen Sie regelmäßig Scans auf Sicherheitslücken und Penetrationstests durch, um die Sicherheitslage Ihrer BigQuery-Umgebung zu prüfen.

Rollen

Rollen sind die Entitäten, für die Berechtigungen für sicherbare Objekte gewährt und widerrufen werden können.

In IAM werden Berechtigungen in Rollen gruppiert. IAM bietet drei Arten von Rollen:

  • Einfache Rollen: Diese Rollen umfassen die Rollen "Inhaber", "Bearbeiter" und "Betrachter". Sie können diese Rollen auf Projekt- oder Dienstressourcenebene mithilfe derGoogle Cloud -Konsole, der Identity and Access Management API oder der gcloud CLI anwenden. Für die höchste Sicherheit empfehlen wir im Allgemeinen, vordefinierte Rollen zu verwenden, um dem Prinzip der geringsten Berechtigung zu folgen.
  • Vordefinierte Rollen: Diese Rollen ermöglichen einen detaillierteren Zugriff auf Features in einem Produkt wie BigQuery und sollen allgemeine Anwendungsfälle und Zugriffssteuerungsmuster unterstützen.
  • Benutzerdefinierte Rollen: Diese Rollen bestehen aus benutzerdefinierten Berechtigungen.

Zugriffssteuerung

Mit Snowflake können Sie anderen Rollen Rollen zuweisen und so eine Hierarchie von Rollen erstellen. IAM unterstützt keine Rollenhierarchie, implementiert jedoch eine Ressourcenhierarchie. Die IAM-Hierarchie umfasst die Organisationsebene, die Ordnerebene, die Projektebene und die Ressourcenebene. Sie können IAM-Rollen auf jeder Hierarchieebene festlegen und Ressourcen übernehmen alle Richtlinien der ihnen übergeordneten Ressourcen.

BigQuery unterstützt die Zugriffssteuerung auf Tabellenebene. Berechtigungen auf Tabellenebene bestimmen, welche Nutzer, Gruppen und Dienstkonten auf eine Tabelle oder Ansicht zugreifen können. Sie können einem Nutzer Zugriff auf bestimmte Tabellen oder Ansichten geben, ohne dadurch Zugriff auf das gesamte Dataset zu gewähren.

Für einen detaillierteren Zugriff können Sie auch die Zugriffssteuerung auf Spaltenebene oder die Sicherheit auf Zeilenebene verwenden. Diese Art der Steuerung bietet mithilfe von Richtlinien-Tags oder typbasierten Datenklassifizierungen einen differenzierten Zugriff auf vertrauliche Spalten.

Sie können auch autorisierte Ansichten erstellen, um den Datenzugriff für eine detailliertere Zugriffssteuerung zu beschränken, sodass bestimmte Nutzer eine Ansicht abfragen können, ohne Lesezugriff auf die zugrunde liegenden Tabellen zu haben.

Andere Snowflake-Funktionen migrieren

Berücksichtigen Sie die folgenden Snowflake-Funktionen bei der Planung der Migration zu BigQuery. In einigen Fällen können Sie andere Dienste in Google Cloud verwenden, um die Migration abzuschließen.

Unterstützte Datentypen, Attribute und Dateiformate

Snowflake und BigQuery unterstützen größtenteils dieselben Datentypen, obwohl sie manchmal unterschiedliche Namen verwenden. Eine vollständige Liste der unterstützten Datentypen in Snowflake und BigQuery finden Sie unter Datentypen. Sie können auch SQL-Übersetzungstools wie den interaktiven SQL-Übersetzer, die SQL Translation API oder den Batch-SQL-Übersetzer verwenden, um verschiedene SQL-Dialekte in GoogleSQL zu übersetzen.

Weitere Informationen zu unterstützten Datentypen in BigQuery finden Sie unter GoogleSQL-Datentypen.

Snowflake kann Daten in den folgenden Dateiformaten exportieren. Sie können die folgenden Formate direkt in BigQuery laden:

Migrationstools

In der folgenden Liste werden die Tools beschrieben, mit denen Sie Daten von Snowflake zu BigQuery migrieren können. Beispiele für die gemeinsame Verwendung dieser Tools in einer Snowflake-Migrationspipeline finden Sie unter Beispiele für Snowflake-Migrationspipelines.

  • Befehl COPY INTO <location>:Verwenden Sie diesen Befehl in Snowflake, um Daten aus einer Snowflake-Tabelle direkt in einen bestimmten Cloud Storage-Bucket zu extrahieren. Ein End-to-End-Beispiel finden Sie unter Snowflake zu BigQuery (snowflake2bq) auf GitHub.
  • Apache Sqoop: Wenn Sie Daten aus Snowflake in HDFS oder Cloud Storage extrahieren möchten, senden Sie Hadoop-Jobs mit dem JDBC-Treiber von Sqoop und Snowflake. Sqoop wird in einer Dataproc-Umgebung ausgeführt.
  • Snowflake-JDBC: Verwenden Sie diesen Treiber mit den meisten Clienttools oder Anwendungen, die JDBC unterstützen.

Mit den folgenden generischen Tools können Sie Daten von Snowflake zu BigQuery migrieren:

  • BigQuery Data Transfer Service für Snowflake (Vorabversion): Führen Sie eine automatisierte Batchübertragung von Cloud Storage-Daten nach BigQuery durch.
  • Google Cloud CLI: Mit diesem Befehlszeilentool können Sie heruntergeladene Snowflake-Dateien in Cloud Storage kopieren.
  • bq-Befehlszeilentool:Über dieses Befehlszeilentool können Sie mit BigQuery interagieren. Gängige Anwendungsfälle sind z. B. das Erstellen von BigQuery-Tabellenschemas, das Laden von Cloud Storage-Daten in Tabellen und das Ausführen von Abfragen.
  • Cloud Storage-Clientbibliotheken: Kopieren Sie heruntergeladene Snowflake-Dateien mit einem benutzerdefinierten Tool, das die Cloud Storage-Clientbibliotheken verwendet, in Cloud Storage.
  • BigQuery-Clientbibliotheken: Interagieren Sie mit BigQuery mit einem benutzerdefinierten Tool, das auf der BigQuery-Clientbibliothek basiert.
  • BigQuery-Abfrageplaner:Planen Sie wiederkehrende SQL-Abfragen mit diesem integrierten BigQuery-Feature.
  • Cloud Composer: Verwenden Sie diese vollständig verwaltete Apache Airflow-Umgebung, um BigQuery-Ladejobs und -Transformationen zu orchestrieren.

Weitere Informationen zum Laden von Daten in BigQuery finden Sie unter Daten in BigQuery laden.

Preise

Berücksichtigen Sie bei der Planung der Snowflake-Migration die Kosten für die Übertragung und Speicherung von Daten sowie die Nutzung von Diensten in BigQuery. Weitere Informationen finden Sie unter Preise.

Für die Übertragung von Daten aus Snowflake oder AWS können Kosten für ausgehenden Traffic anfallen. Außerdem können zusätzliche Kosten anfallen, wenn Daten zwischen Regionen oder zwischen verschiedenen Cloud-Anbietern übertragen werden.

Jetzt starten

In den folgenden Abschnitten wird der Migrationsprozess von Snowflake zu BigQuery zusammengefasst:

Migrationsbewertung ausführen

Bei der Migration von Snowflake zu BigQuery empfehlen wir, zuerst das BigQuery-Tool zur Migrationsbewertung auszuführen, um die Machbarkeit und die potenziellen Vorteile der Migration Ihres Data Warehouse von Snowflake zu BigQuery zu bewerten. Dieses Tool bietet einen strukturierten Ansatz, um Ihre aktuelle Snowflake-Umgebung zu verstehen und den Aufwand für eine erfolgreiche Migration zu schätzen.

Wenn Sie das BigQuery-Migrationsbewertungstool ausführen, wird ein Bewertungsbericht mit den folgenden Abschnitten erstellt:

  • Bericht zum vorhandenen System: ein Snapshot des vorhandenen Snowflake-Systems und der vorhandenen Nutzung, einschließlich der Anzahl der Datenbanken, Schemas, Tabellen und der Gesamtgröße in TB. Außerdem werden die Schemas nach Größe aufgelistet und es wird auf eine potenzielle suboptimale Ressourcennutzung verwiesen, z. B. Tabellen ohne Schreibvorgänge oder mit wenigen Lesevorgängen.
  • Vorschläge für Transformationen im stabilen Zustand von BigQuery: Hier sehen Sie, wie das System nach der Migration in BigQuery aussehen wird. Er enthält Vorschläge zur Optimierung von Arbeitslasten in BigQuery und zur Vermeidung von unnötiger Inanspruchnahme.
  • Migrationsplan: Enthält Informationen zur Migration selbst. Zum Beispiel zur Überführung des vorhandenen Systems in einen stabilen BigQuery-Zustand. In diesem Abschnitt werden die Anzahl der automatisch übersetzten Abfragen und die erwartete Zeit zum Verschieben der einzelnen Tabellen in BigQuery angegeben.

Weitere Informationen zu den Ergebnissen einer Migrationsbewertung finden Sie unter Looker Studio-Bericht aufrufen.

Migration validieren

Nachdem Sie Ihre Snowflake-Daten zu BigQuery migriert haben, können Sie das Data Validation Tool (DVT) ausführen, um eine Datenvalidierung für Ihre neu migrierten BigQuery-Daten durchzuführen. Das DVT validiert verschiedene Funktionen, von der Tabellen- bis zur Zeilenebene, um zu prüfen, ob Ihre migrierten Daten wie vorgesehen funktionieren.