Migrazione da Snowflake a BigQuery - introduzione

Questo documento fornisce un'introduzione alla migrazione dei dati da Snowflake a BigQuery.

Per supportare le migrazioni a BigQuery, Trusted Cloud by S3NS offre BigQuery Migration Service come soluzione completa per la migrazione del data warehouse a BigQuery. Il servizio di migrazione offre funzionalità per supportare ogni fase della migrazione, tra cui valutazione e pianificazione, traduzione SQL, trasferimento dei dati e convalida dei dati. Per ulteriori informazioni, vedi Introduzione a BigQuery Migration Service.

Confronto delle funzioni

Le sezioni seguenti evidenziano le principali differenze e somiglianze tra BigQuery e Snowflake e introducono diverse funzionalità uniche di BigQuery.

Terminologia

La tabella seguente mette in corrispondenza i termini di Snowflake con i termini BigQuery equivalenti:

Snowflake BigQuery
Database Set di dati
Schema Schema
Visualizza Visualizza
Visualizzazioni sicure Visualizzazioni autorizzate
Magazzino virtuale Prenotazione
Visualizzazione materializzata Visualizzazione materializzata
Micropartizioni Partizionamento
Clustering Clustering
Funzioni definite dall'utente (UDF) con sicurezza avanzata Funzioni definite dall'utente autorizzate

Architettura di BigQuery

BigQuery è un data warehouse analitico con un'architettura altamente scalabile. BigQuery disaccoppia archiviazione e calcolo, consentendo a questi componenti di scalare in modo indipendente on demand. Per ulteriori informazioni sull'architettura in BigQuery, consulta la panoramica di BigQuery. Di seguito sono riportate alcune funzionalità chiave di BigQuery pertinenti per il processo di migrazione dei dati:

  • BigQuery utilizza tabelle gestite e offre opzioni flessibili per il trasferimento di dati di terze parti. Ciò include l'importazione diretta da Cloud Storage in formati portatili come Parquet, Avro, ORC e CSV.

    • BigQuery supporta anche le tabelle Apache Iceberg. Iceberg è un formato di tabella aperto che porta le funzionalità di data lakehouse in BigQuery, fornendo evoluzione dello schema, spostamento cronologico e transazioni ACID. Ciò consente un'integrazione perfetta con altri sistemi che utilizzano Iceberg e offre maggiore flessibilità e controllo sui tuoi dati.
  • BigQuery ti consente di definire partizionamento e clustering espliciti quando crei tabelle. In questo modo, hai il controllo granulare sull'organizzazione dei dati, il che ti consente di ottimizzare il rendimento delle query, ridurre i costi tramite il partizionamento e il clustering strategici e adattare il layout dei dati alle tue esigenze analitiche specifiche.

  • BigQuery gestisce automaticamente le risorse di calcolo. Non devi eseguire il provisioning o gestire macchine virtuali.

    • Per i carichi di lavoro prevedibili, BigQuery offre prenotazioni che ti consentono di riservare in anticipo la capacità di calcolo a un costo inferiore. Può essere utile per carichi di lavoro coerenti con esigenze prevedibili in termini di risorse.
    • Durante la migrazione, analizza i tuoi pattern di utilizzo di Snowflake per comprendere i tuoi requisiti di calcolo e aiutarti a determinare l'approccio più conveniente in BigQuery, che si tratti di prezzi on demand o di utilizzo delle prenotazioni.

Interfaccia utente BigQuery

L'interfaccia BigQuery è integrata nella Trusted Cloud console.

BigQuery dispone anche di uno strumento a riga di comando basato su Python chiamato strumento a riga di comando bq.

Funzionalità di sicurezza di BigQuery

Quando esegui la migrazione da Snowflake a BigQuery, considera in che modo Trusted Cloud by S3NS gestisce la sicurezza in modo diverso da Snowflake.

La sicurezza in BigQuery è intrinsecamente collegata a Identity and Access Management (IAM) in Trusted Cloud by S3NS. I privilegi IAM definiscono le operazioni consentite su una risorsa e vengono applicati a livello di Trusted Cloud by S3NS , fornendo un approccio centralizzato e coerente alla gestione della sicurezza. Di seguito sono riportate alcune delle principali funzionalità di sicurezza di Trusted Cloud by S3NS:

  • Sicurezza integrata: BigQuery sfrutta le funzionalità di sicurezza di Trusted Cloud by S3NS. Ciò include IAM per il controllo granulare dell'accesso per un'integrazione della sicurezza efficace e senza interruzioni.
  • Sicurezza a livello di risorsa: IAM si concentra sul controllo dell'accesso a livello di risorsa, concedendo autorizzazioni a utenti e gruppi per vari servizi e risorse BigQuery. Questo approccio consente una gestione efficace dei diritti di accesso, in modo che gli utenti dispongano solo delle autorizzazioni necessarie per svolgere le proprie attività.
  • Sicurezza di rete: BigQuery beneficia delle solide funzionalità di sicurezza di rete di Trusted Cloud by S3NS, come Virtual Private Cloud e connessioni private.

Quando esegui la migrazione da Snowflake a BigQuery, considera i seguenti requisiti di migrazione correlati alla sicurezza:

  • Configurazione IAM: devi configurare ruoli e autorizzazioni IAM in BigQuery in modo che corrispondano ai criteri di controllo dell'accesso Snowflake esistenti. Ciò comporta la mappatura dei ruoli Snowflake ai ruoli e alle autorizzazioni IAM di BigQuery appropriati.
  • Controllo dell'accesso granulare: se utilizzi la sicurezza a livello di riga o di colonna in Snowflake, dovrai implementare controlli equivalenti in BigQuery utilizzando viste autorizzate o tag di criteri.
  • Migrazione di viste e UDF: durante la migrazione di viste e UDF, verifica che i controlli di sicurezza associati vengano tradotti correttamente in viste autorizzate e UDF autorizzate in BigQuery.

Crittografia

BigQuery cripta i tuoi dati at-rest e in transito per impostazione predefinita. Se hai bisogno di un maggiore controllo sulle chiavi di crittografia, BigQuery supporta le chiavi di crittografia gestite dal cliente in Cloud Key Management Service. Puoi anche utilizzare la crittografia a livello di colonna.

Per mantenere la sicurezza dei dati durante e dopo la migrazione a BigQuery, tieni presente quanto segue:

  • Gestione delle chiavi: se hai bisogno di chiavi gestite dal cliente, stabilisci una strategia di gestione delle chiavi in Cloud Key Management Service e configura BigQuery per utilizzare queste chiavi.
  • Mascheramento/tokenizzazione dei dati: se sono coinvolti dati sensibili, valuta se è necessario il mascheramento o la tokenizzazione dei dati per proteggerli.
  • Sicurezza a livello di riga: implementa la sicurezza a livello di riga utilizzando viste autorizzate, filtri di sicurezza a livello di riga o altri metodi appropriati.
  • Scansione delle vulnerabilità e test di penetrazione: esegui regolarmente analisi delle vulnerabilità e i test di penetrazione per verificare il livello di sicurezza del tuo ambiente BigQuery.

Ruoli

I ruoli sono le entità a cui possono essere concessi e revocati i privilegi sugli oggetti protetti.

In IAM, le autorizzazioni sono raggruppate in ruoli. IAM fornisce tre tipi di ruoli:

  • Ruoli di base: Questi ruoli includono i ruoli Proprietario, Editor e Visualizzatore. Puoi applicare questi ruoli a livello di progetto o risorsa di servizio utilizzando la consoleTrusted Cloud , l'API Identity and Access Management o gcloud CLI. In generale, per una sicurezza ottimale, ti consigliamo di utilizzare ruoli predefiniti per seguire il principio del privilegio minimo.
  • Ruoli predefiniti: Questi ruoli forniscono un accesso più granulare alle funzionalità di un prodotto (ad esempio BigQuery) e sono pensati per supportare casi d'uso comuni e pattern di controllo dell'accesso dell'accesso.
  • Ruoli personalizzati: Questi ruoli sono composti da autorizzazioni specificate dall'utente.

Controllo degli accessi

Snowflake ti consente di concedere ruoli ad altri ruoli, creando una gerarchia di ruoli. IAM non supporta una gerarchia dei ruoli, ma implementa una gerarchia delle risorse. La gerarchia IAM include il livello organizzazione, il livello cartella, il livello progetto e il livello risorsa. Puoi impostare i ruoli IAM a qualsiasi livello della gerarchia e le risorse ereditano tutti i criteri delle risorse padre.

BigQuery supporta il controllo dell'accesso a livello di tabella. Le autorizzazioni a livello di tabella determinano gli utenti, i gruppi e i service account che possono accedere a una tabella o a una vista. Puoi concedere a un utente l'accesso a tabelle o viste specifiche senza concedere l'accesso al set di dati completo.

Per un accesso più granulare, puoi anche utilizzare il controllo dell'accesso a livello di colonna o la sicurezza a livello di riga. Questo tipo di controllo fornisce un accesso granulare alle colonne sensibili utilizzando tag di criteri o classificazioni dei dati basate sul tipo.

Puoi anche creare viste autorizzate per limitare l'accesso ai dati per controllo dell'accesso più granulare, in modo che gli utenti specificati possano eseguire query su una vista senza disporre dell'accesso in lettura alle tabelle sottostanti.

Eseguire la migrazione di altre funzionalità di Snowflake

Tieni in considerazione le seguenti funzionalità di Snowflake quando pianifichi la migrazione a BigQuery. In alcuni casi, puoi utilizzare altri servizi in Trusted Cloud per completare la migrazione.

Inizia

Le sezioni seguenti riepilogano la procedura di migrazione da Snowflake a BigQuery:

Esegui una valutazione della migrazione

Nella migrazione da Snowflake a BigQuery, ti consigliamo di iniziare eseguendo lo strumento di valutazione della migrazione BigQuery per valutare la fattibilità e i potenziali vantaggi del trasferimento del data warehouse da Snowflake a BigQuery. Questo strumento fornisce un approccio strutturato per comprendere l'ambiente Snowflake attuale e stimare l'impegno necessario per una migrazione riuscita.

L'esecuzione dello strumento BigQuery Migration Assessment produce un report di valutazione che contiene le seguenti sezioni:

  • Report di sistema esistente: uno snapshot del sistema Snowflake esistente e dell'utilizzo, incluso il numero di database, schemi, tabelle e dimensioni totali in TB. Elenca inoltre gli schemi in base alle dimensioni e indica un potenziale utilizzo non ottimale delle risorse, ad esempio tabelle senza scritture o con poche letture.
  • Suggerimenti per la trasformazione dello stato stazionario di BigQuery: mostra l'aspetto del sistema in BigQuery dopo la migrazione. Include suggerimenti per ottimizzare i carichi di lavoro in BigQuery ed evitare sprechi.
  • Piano di migrazione: fornisce informazioni sull'impegno di migrazione stesso. Ad esempio, il passaggio dal sistema esistente allo stato stazionario di BigQuery. Questa sezione include il conteggio delle query che sono state tradotte automaticamente e il tempo previsto per spostare ogni tabella in BigQuery.

Per ulteriori informazioni sui risultati di una valutazione della migrazione, vedi Esaminare il report di Looker Studio.

Configurare una pipeline di migrazione da Snowflake a BigQuery

Dopo aver esaminato i risultati della valutazione della migrazione, puoi iniziare la migrazione di Snowflake configurando una pipeline di migrazione. Per saperne di più, consulta Migrazione da Snowflake a BigQuery - Panoramica.

Convalidare la migrazione

Dopo aver eseguito la migrazione dei dati Snowflake a BigQuery, esegui lo strumento di convalida dei dati (DVT) per eseguire una convalida dei dati sui dati BigQuery di cui è stata appena eseguita la migrazione. Il DVT convalida varie funzioni, dal livello di tabella a quello di riga, per verificare che i dati migrati funzionino come previsto.