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.
- Puoi anche utilizzare lo strumento per i suggerimenti di partizionamento e clustering per consentire a BigQuery di suggerire configurazioni di partizionamento e clustering in base al carico di lavoro del tuo progetto.
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.
Spostamento cronologico:in BigQuery puoi utilizzare lo spostamento cronologico per accedere ai dati di qualsiasi momento degli ultimi sette giorni. Se devi accedere a dati più vecchi di sette giorni, ti consigliamo di esportare gli snapshot pianificati regolarmente.
Stream:BigQuery supporta Change Data Capture (CDC) con Datastream. Puoi anche utilizzare software CDC, come Debezium, per scrivere record in BigQuery con Dataflow. Per saperne di più sulla progettazione manuale di una pipeline CDC con BigQuery, consulta Migrazione dei data warehouse a BigQuery: Change Data Capture (CDC).
Attività:BigQuery ti consente di pianificare query e flussi o l'integrazione di flussi nelle query con Datastream.
Funzioni esterne:BigQuery supporta le chiamate di funzioni esterne tramite le funzioni Cloud Run. Puoi anche utilizzare funzioni definite dall'utente (UDF) come le UDF SQL, anche se queste funzioni vengono eseguite all'interno di BigQuery.
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.