Migration von Snowflake zu BigQuery – Einführung

Dieses Dokument bietet eine Einführung in die Migration von Daten von Snowflake zu BigQuery.

Zur Unterstützung von Migrationen zu BigQuery bietet Trusted Cloud by S3NS den BigQuery Migration Service als umfassende Lösung für die Migration Ihres Data Warehouse zu BigQuery an. Der Migrationsdienst bietet Funktionen, die Sie in jeder Phase der Migration unterstützen, einschließlich Bewertung und Planung, SQL-Übersetzung, Datenübertragung und Datenvalidierung. Weitere Informationen finden Sie unter Einführung in BigQuery Migration Service.

Funktionsvergleich

In den folgenden Abschnitten werden die wichtigsten Unterschiede und Gemeinsamkeiten zwischen BigQuery und Snowflake hervorgehoben und einige Funktionen vorgestellt, die nur in BigQuery verfügbar sind.

Terminologie

In der folgenden Tabelle werden Snowflake-Begriffe den entsprechenden BigQuery-Begriffen zugeordnet:

Snowflake BigQuery
Datenbank Dataset
Schema Schema
Ansehen Anzeigen
Sichere Ansichten Autorisierte Ansichten
Virtuelles Warehouse Reservierung
Materialisierte Ansicht Materialisierte Ansicht
Mikropartitionen Partitionierung
Clustering Clustering
Sicherheitsoptimierte benutzerdefinierte Funktionen (UDFs) Autorisierte UDFs

BigQuery-Architektur

BigQuery ist ein analytisches Data Warehouse mit einer hochgradig skalierbaren Architektur. In BigQuery sind Speicher und Computing entkoppelt, sodass diese Komponenten unabhängig nach Bedarf skaliert werden können. Weitere Informationen zur Architektur in BigQuery finden Sie unter BigQuery. Im Folgenden finden Sie einige wichtige BigQuery-Funktionen, die für die Datenmigration relevant sind:

  • BigQuery verwendet verwaltete Tabellen und bietet flexible Optionen für die Übertragung von Drittanbieterdaten. Dazu gehört die direkte Aufnahme aus Cloud Storage in portablen Formaten wie Parquet, Avro, ORC und CSV.

    • BigQuery unterstützt auch Apache Iceberg-Tabellen. Iceberg ist ein offenes Tabellenformat, das Data Lakehouse-Funktionen in BigQuery ermöglicht, darunter Schema-Weiterentwicklung, Zeitreisen und ACID-Transaktionen. Das ermöglicht eine nahtlose Integration in andere Systeme, die Iceberg verwenden, und bietet mehr Flexibilität und Kontrolle über Ihre Daten.
  • In BigQuery können Sie beim Erstellen von Tabellen explizite Partitionierung und Clustering definieren. So haben Sie die Möglichkeit, die Datenorganisation genau zu steuern, die Abfrageleistung durch strategisches Partitionieren und Clustern zu optimieren, die Kosten zu senken und das Datenlayout an Ihre spezifischen Analyseanforderungen anzupassen.

  • BigQuery verwaltet Rechenressourcen automatisch. Sie müssen keine virtuellen Maschinen bereitstellen oder verwalten.

    • Für vorhersehbare Arbeitslasten bietet BigQuery Reservierungen, mit denen Sie Rechenkapazität im Voraus zu geringeren Kosten reservieren können. Dies kann für konsistente Arbeitslasten mit vorhersehbarem Ressourcenbedarf von Vorteil sein.
    • Analysieren Sie während der Migration Ihre Snowflake-Nutzungsmuster, um Ihre Rechenanforderungen zu ermitteln und den kostengünstigsten Ansatz in BigQuery zu bestimmen, unabhängig davon, ob es sich um On-Demand-Preise oder Reservierungen handelt.

BigQuery-Benutzeroberfläche

Die BigQuery-Benutzeroberfläche ist in die Trusted Cloud -Konsole eingebunden.

BigQuery verfügt auch über ein Python-basiertes Befehlszeilentool namens bq-Befehlszeilentool.

BigQuery-Sicherheitsfunktionen

Wenn Sie von Snowflake zu BigQuery migrieren, sollten Sie berücksichtigen, wieTrusted Cloud by S3NS die Sicherheit anders als Snowflake handhabt.

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

  • Integrierte Sicherheit: BigQuery nutzt die Sicherheitsfunktionen von Trusted Cloud by S3NS. 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. Dieser Ansatz ermöglicht eine effektive Verwaltung der Zugriffsrechte, sodass Nutzer nur die Berechtigungen haben, die sie für ihre Aufgaben benötigen.
  • Netzwerksicherheit: BigQuery profitiert von den robusten Netzwerksicherheitsfunktionen von Trusted Cloud by S3NS, z. B. Virtual Private Cloud und privaten Verbindungen.

Bei der Migration von Snowflake zu BigQuery müssen Sie die folgenden sicherheitsbezogenen 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 richtig 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 vom Kunden verwaltete 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 im 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.
  • Schwachstellenscans und Penetrationstests: Führen Sie regelmäßig Schwachstellenscans und Penetrationstests durch, um die Sicherheit 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 derTrusted 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 bei der Planung der Migration zu BigQuery die folgenden Snowflake-Funktionen. In einigen Fällen können Sie andere Dienste in Trusted Cloud verwenden, um die Migration abzuschließen.

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.

Migrationspipeline von Snowflake zu BigQuery einrichten

Nachdem Sie die Ergebnisse Ihrer Migrationsbewertung überprüft haben, können Sie mit der Snowflake-Migration beginnen, indem Sie eine Migrationspipeline einrichten. Weitere Informationen finden Sie unter Migration von Snowflake zu BigQuery – Übersicht.

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.