Analizzare i dati

Last reviewed 2023-08-08 UTC

Questo documento nel framework dell'architettura Google Cloud illustra alcuni dei principi fondamentali e delle best practice per l'analisi dei dati in Google Cloud. Scoprirai alcuni dei servizi chiave di analisi dei dati e come possono essere utili nelle varie fasi del ciclo di vita dei dati. Queste best practice ti aiutano a soddisfare le tue esigenze di analisi dei dati e a creare la progettazione del tuo sistema.

Principi fondamentali

Le attività vogliono analizzare i dati e generare insight strategici a partire da questi dati. Google Cloud offre vari servizi che ti aiutano nell'intero ciclo di vita dei dati, dall'importazione dati ai report e alla visualizzazione. La maggior parte di questi servizi è completamente gestita e alcuni sono serverless. Puoi anche creare e gestire un ambiente di analisi dei dati su VM di Compute Engine, ad esempio ospitando autonomamente Apache Hadoop o Beam.

La tua particolare attenzione, le competenze del tuo team e la tua visione strategica ti aiutano a determinare quali servizi Google Cloud adotti per supportare le tue esigenze di analisi dei dati. Ad esempio, Dataflow ti consente di scrivere trasformazioni complesse in un approccio serverless, ma devi fare affidamento su una versione "guidata" delle configurazioni per le esigenze di calcolo ed elaborazione. In alternativa, Dataproc ti consente di eseguire le stesse trasformazioni, ma di gestire i cluster e perfezionare i job in autonomia.

Nella progettazione del sistema, pensa alla strategia di elaborazione utilizzata dai tuoi team, ad esempio estrazione, trasformazione, caricamento (ETL) o estrazione, caricamento e trasformazione (ELT). La progettazione del sistema deve anche valutare se sia necessario elaborare analisi in batch o dei flussi. Google Cloud fornisce una piattaforma dati unificata e ti consente di creare un data lake o un data warehouse per soddisfare le tue esigenze aziendali.

Servizi chiavi

La seguente tabella offre una panoramica generale dei servizi di analisi di Google Cloud:

Servizio Google Cloud Description
Pub/Sub Base semplice, affidabile e scalabile per l'analisi dei flussi e sistemi di calcolo basati su eventi.
Dataflow Un servizio completamente gestito per trasformare e arricchire i dati in modalità flusso (in tempo reale) e batch (storico).
Dataprep di Trifacta Servizio dati intelligente per esplorare in modo visivo, pulire e preparare dati strutturati e non strutturati per l'analisi.
Dataproc Servizio cloud completamente gestito, veloce e facile da usare per eseguire i cluster Apache Spark e Apache Hadoop.
Cloud Data Fusion Servizio di integrazione dei dati completamente gestito, creato per il cloud, che consente di creare e gestire pipeline di dati ETL/ELT. Cloud DataFusion offre un'interfaccia grafica e un'ampia libreria open source di trasformazioni e connettori preconfigurati.
BigQuery Data warehouse serverless a basso costo e completamente gestito che scala in base alle tue esigenze di archiviazione e potenza di calcolo. BigQuery è un database a colonne e SQL ANSI in grado di analizzare da terabyte a petabyte di dati.
Cloud Composer Servizio di orchestrazione del flusso di lavoro completamente gestito che consente di creare, pianificare e monitorare pipeline su cloud e data center on-premise.
Catalogo dati Servizio di gestione dei metadati completamente gestito e scalabile che ti aiuta a scoprire, gestire e comprendere tutti i tuoi dati.
Looker Studio Servizio di analisi visiva completamente gestito che può aiutarti a estrarre insight dai dati tramite dashboard interattive.
Looker Piattaforma aziendale che connette, analizza e visualizza i dati in ambienti multi-cloud.
Dataform Prodotto completamente gestito per aiutarti a collaborare, creare ed eseguire il deployment di pipeline di dati, nonché per garantire la qualità dei dati.
Dataplex Servizio data lake gestito che gestisce, monitora e regolamenta centralmente i dati nei vari data lake, data warehouse e data mart utilizzando controlli coerenti.
AnalyticsHub Piattaforma che scambia in modo efficiente e sicuro gli asset di analisi dei dati all'interno della tua organizzazione per affrontare le sfide di affidabilità e costi dei dati.

Ciclo di vita dei dati

Quando crei la progettazione del tuo sistema, puoi raggruppare i servizi di analisi dei dati di Google Cloud in base allo spostamento generale dei dati in qualsiasi sistema o al ciclo di vita dei dati.

Il ciclo di vita dei dati include le fasi e i servizi di esempio seguenti:

Le fasi e i servizi seguenti si applicano all'intero ciclo di vita dei dati:

  • L'integrazione dei dati include servizi come Data Fusion.
  • Gestione e governance dei metadati include servizi come Data Catalog.
  • Gestione dei flussi di lavoro include servizi come Cloud Composer.

Importazione dati

Applica le seguenti best practice per l'importazione dati al tuo ambiente.

Determina l'origine per l'importazione dei dati

I dati in genere provengono da un altro cloud provider o servizio o da una località on-premise:

Valuta come vuoi elaborare i dati dopo l'importazione. Ad esempio, Storage Transfer Service scrive dati solo in un bucket Cloud Storage e BigQuery Data Transfer Service scrive i dati solo in un set di dati BigQuery. Cloud Data Fusion supporta più destinazioni.

Identifica le origini dati in flussi o batch

Valuta come utilizzare i dati e identifica i casi d'uso in modalità flusso o batch. Ad esempio, se esegui un servizio globale di streaming con requisiti di latenza bassi, puoi utilizzare Pub/Sub. Se hai bisogno dei tuoi dati per l'analisi e i report, puoi trasmettere i flussi di dati in BigQuery.

Se devi trasmettere flussi di dati da un sistema come Apache Kafka in un ambiente on-premise o in un altro ambiente cloud, utilizza il modello Dataflow da Kafka a BigQuery. Per i carichi di lavoro batch, la prima cosa da fare in genere consiste nell'importare dati in Cloud Storage. Utilizza lo strumento gsutil o Storage Transfer Service per importare i dati.

Importa i data con strumenti automatizzati

Lo spostamento manuale dei dati da altri sistemi al cloud può rappresentare una sfida. Se possibile, utilizza strumenti che ti consentono di automatizzare i processi di importazione dati. Ad esempio, Cloud Data Fusion fornisce connettori e plug-in per importare i dati da origini esterne con una GUI di trascinamento. Se i tuoi team vogliono scrivere del codice, Flusso di dati o BigQuery possono aiutare ad automatizzare limportazione dati. Pub/Sub può essere utile sia nell'approccio low code che in quello code-first. Per importare i dati nei bucket di archiviazione, utilizza gsutil per dimensioni dei dati fino a 1 TB. Per importare quantità di dati superiori a 1 TB, utilizza Storage Transfer Service.

Usa gli strumenti di migrazione per importare da un altro data warehouse

Se devi eseguire la migrazione da un altro sistema di data warehouse, come Teradata, Netezza o Redshift, puoi utilizzare l'assistenza per la migrazione di BigQuery Data Transfer Service. BigQuery Data Transfer Service fornisce anche trasferimenti di terze parti che ti consentono di importare i dati da origini esterne in base a una pianificazione. Per ulteriori informazioni, consulta gli approcci dettagliati alla migrazione per ciascun data warehouse.

Stima le tue esigenze di importazione di dati

Il volume di dati da importare consente di determinare quale servizio utilizzare nella progettazione del tuo sistema. Per l'importazione di flussi di dati, Pub/Sub scala fino a decine di gigabyte al secondo. I requisiti di capacità, archiviazione e regione per i tuoi dati ti aiutano a determinare se Pub/Sub Lite è un'opzione migliore per la progettazione del tuo sistema. Per maggiori informazioni, consulta la pagina relativa alla scelta di Pub/Sub o Pub/Sub Lite.

Per l'importazione batch dei dati, stima la quantità di dati da trasferire in totale e la velocità da eseguire. Esamina le opzioni di migrazione disponibili, tra cui una stima nel tempo e il confronto dei trasferimenti online e offline.

Usa gli strumenti adeguati per l'importazione regolare di dati in base a una pianificazione

Storage Transfer Service e BigQuery Data Transfer Service consentono entrambi di pianificare i job di importazione. Per un controllo granulare delle tempistiche di importazione o del sistema di origine e di destinazione, utilizza un sistema di gestione dei flussi di lavoro come Cloud Composer. Se vuoi un approccio più manuale, puoi utilizzare Cloud Scheduler e Pub/Sub per attivare una funzione Cloud Functions.
Se vuoi gestire l'infrastruttura di computing, puoi utilizzare il comando gsutil con cron per trasferire dati fino a 1 TB. Se utilizzi questo approccio manuale anziché Cloud Composer, segui le best practice per i trasferimenti in produzione di script.

Esamina le esigenze di importazione di dati da server FTP/SFTP

Se hai bisogno di un ambiente senza codice per importare i dati da un server FTP/SFTP, puoi utilizzare i plug-in per la copia di FTP. Se vuoi modernizzare e creare una soluzione di flusso di lavoro a lungo termine, Cloud Composer è un servizio completamente gestito che ti consente di leggere e scrivere da varie origini e sink.

Usa connettori Apache Kafka per importare i dati

Se utilizzi Pub/Sub, Dataflow o BigQuery, puoi importare i dati utilizzando uno dei connettori Apache Kafka. Ad esempio, il connettore open source Pub/Sub Kafka consente di importare i dati da Pub/Sub o Pub/Sub Lite.

Risorse aggiuntive

Archiviazione dei dati

Applica le seguenti best practice per l'archiviazione dei dati al tuo ambiente.

Scegli il datastore appropriato per le tue esigenze

Per scegliere il tipo di soluzione di archiviazione da utilizzare, esamina e comprendi l'utilizzo downstream dei tuoi dati. I seguenti casi d'uso comuni per i tuoi dati forniscono suggerimenti su quale prodotto Google Cloud utilizzare:

Caso d'uso dei dati Consiglio sui prodotti
Basato su file Filestore
Basato sugli oggetti Cloud Storage
Bassa latenza Bigtable
Serie temporale Bigtable
Cache online Memorystore
Elaborazione delle transazioni Cloud SQL
Business intelligence (BI) e analisi BigQuery
Elaborazione dei dati in modalità batch Cloud Storage

Bigtable se i dati in entrata sono serie temporali e hai bisogno di accedervi a bassa latenza.

BigQuery se utilizzi SQL.

Esamina le tue esigenze di struttura dei dati

Per la maggior parte dei dati non strutturati, come documenti e file di testo, file audio e video o log, l'archivio basato su oggetti è la scelta più adatta. Puoi quindi caricare ed elaborare i dati dall'archiviazione di oggetti quando ne hai bisogno.

Per i dati semi-strutturati, come XML o JSON, i tuoi casi d'uso e i pattern di accesso ai dati ti aiutano a indirizzare la scelta. Puoi caricare questi set di dati in BigQuery per il rilevamento automatico dello schema. Se hai requisiti di bassa latenza, puoi caricare i tuoi dati JSON in Bigtable. Se hai requisiti legacy o se le tue applicazioni funzionano con database relazionali, puoi anche caricare set di dati in un archivio di relazioni.

Per i dati strutturati, ad esempio CSV, Parquet, Avro o ORC, puoi utilizzare BigQuery se hai requisiti di BI e analisi che utilizzano SQL. Per maggiori informazioni, consulta Come caricare i dati in batch. Se vuoi creare un data lake su tecnologie e standard aperti, puoi utilizzare Cloud Storage.

Esegui la migrazione dei dati e riduci i costi per HDFS

Cerca modi per spostare i dati di Hadoop Distributed File System (HDFS) da on-premise o da un altro cloud provider a un sistema di archiviazione di oggetti più economico. Cloud Storage è la scelta più comune effettuata dalle aziende come datastore alternativo. Per informazioni sui vantaggi e sugli svantaggi di questa scelta, consulta HDFS e Cloud Storage.

Puoi trasferire i dati con un metodo push o pull. Entrambi i metodi utilizzano il comando hadoop distcp. Per maggiori informazioni, consulta Migrazione dei dati HDFS da on-premise a Google Cloud.

Puoi anche utilizzare il connettore Cloud Storage open source per consentire a job Hadoop e Spark di accedere ai dati in Cloud Storage. Il connettore è installato per impostazione predefinita sui cluster Dataproc e può essere installato manualmente su altri cluster.

Usa l'archiviazione a oggetti per creare un data lake coerente

Un data lake è un repository centralizzato progettato per archiviare, elaborare e proteggere grandi quantità di dati strutturati, semistrutturati e non strutturati. Puoi utilizzare Cloud Composer e Cloud Data Fusion per creare un data lake.

Per creare una piattaforma dati moderna, puoi utilizzare BigQuery come origine dati centrale anziché Cloud Storage. BigQuery è un data warehouse moderno con separazione tra archiviazione e computing. Un data lake basato su BigQuery consente di eseguire analisi tradizionali da BigQuery nella console Cloud. Ti consente inoltre di accedere ai dati archiviati da altri framework come Apache Spark.

Risorse aggiuntive

Elabora e trasforma i dati

Applica le seguenti best practice di analisi dei dati al tuo ambiente quando elabori e trasformi i dati.

Esplora i software open source che puoi utilizzare in Google Cloud

Molti servizi Google Cloud utilizzano software open source per facilitare la transizione. Google Cloud offre soluzioni gestite e serverless con API aperte e compatibili con framework open source per ridurre i vincoli al fornitore.

Dataproc è un servizio gestito compatibile con Hadoop che ti consente di ospitare software open source con un carico operativo minimo. Dataproc include il supporto per Spark, Hive, Pig, Presto e Zookeeper. Fornisce inoltre Hive Metastore come servizio gestito per rimuovere se stesso come single point of failure nell'ecosistema Hadoop.

Puoi eseguire la migrazione a Dataflow se al momento utilizzi Apache Beam come motore di elaborazione in modalità flusso e batch. Dataflow è un servizio completamente gestito e serverless che utilizza Apache Beam. Usa Dataflow per scrivere job in Beam, ma lascia che Google Cloud gestisca l'ambiente di esecuzione.

Se utilizzi CDAP come piattaforma di integrazione dei dati, puoi eseguire la migrazione a Cloud Data Fusion per un'esperienza completamente gestita.

Determina le tue esigenze di elaborazione dei dati ETL o ELT

L'esperienza e le preferenze del tuo team aiutano a determinare la progettazione del sistema per l'elaborazione dei dati. Google Cloud consente di utilizzare sistemi di trattamento dati ETL tradizionale o ELT più moderni.

Usa il framework appropriato per il tuo caso d'uso dei dati

I casi d'uso dei dati determinano quali strumenti e framework utilizzare. Alcuni prodotti Google Cloud sono progettati per gestire tutti i seguenti casi d'uso dei dati, mentre altri supportano al meglio un solo caso d'uso particolare.

  • Per un sistema di elaborazione dati in batch, puoi elaborare e trasformare i dati in BigQuery con un'interfaccia SQL familiare. Se hai una pipeline esistente in esecuzione su Apache Hadoop o Spark on-premise o su un altro cloud pubblico, puoi utilizzare Dataproc.
    • Puoi usare Dataflow se vuoi un'interfaccia di programmazione unificata per i casi d'uso in modalità flusso e batch. Ti consigliamo di modernizzare e utilizzare Dataflow per ETL e BigQuery per ELT.
  • Per le pipeline di flussi di dati, utilizzi un servizio gestito e serverless come Dataflow che fornisce windowing, scalabilità automatica e modelli. Per ulteriori informazioni, consulta Creazione di pipeline di dati pronte per la produzione utilizzando Dataflow.

  • Per i casi d'uso in tempo reale, come l'analisi di serie temporali o l'analisi dei video in streaming, utilizza Dataflow.

Mantieni il controllo futuro sul tuo motore di esecuzione

Per ridurre al minimo i vincoli al fornitore e poter utilizzare in futuro una piattaforma diversa, utilizza il modello di programmazione Apache Beam e Dataflow come soluzione serverless gestita. Il modello di programmazione Beam ti consente di modificare il motore di esecuzione sottostante, ad esempio passando da Dataflow ad Apache Flink o Apache Spark.

Usa Dataflow per importare dati da più origini

Per importare i dati da più origini, come Pub/Sub, Cloud Storage, HDFS, S3 o Kafka, utilizza Dataflow. Dataflow è un servizio serverless gestito che supporta i modelli Dataflow, che consente ai tuoi team di eseguire modelli da diversi strumenti.

Dataflow Prime fornisce la scalabilità automatica orizzontale e verticale delle macchine utilizzate nel processo di esecuzione di una pipeline. Offre anche diagnostica e consigli intelligenti che identificano i problemi e suggeriscono come correggerli.

Scopri, identifica e proteggi i dati sensibili

Utilizza Sensitive Data Protection per esaminare e trasformare dati strutturati e non strutturati. Sensitive Data Protection funziona per i dati che si trovano ovunque in Google Cloud, ad esempio Cloud Storage o nei database. Puoi classificare, mascherare e tokenizzare i dati sensibili per continuare a utilizzarli in modo sicuro per l'elaborazione downstream. Utilizza la protezione dei dati sensibili per eseguire azioni come scansionare i dati BigQuery o anonimizzare e reidentificare le PII in set di dati su larga scala.

Modernizza i tuoi processi di trasformazione dei dati

Utilizza Dataform per scrivere trasformazioni dei dati come codice e per iniziare a utilizzare il controllo della versione per impostazione predefinita. Puoi anche adottare le best practice per lo sviluppo di software come CI/CD, test delle unità e controllo della versione per il codice SQL. Dataform supporta tutti i principali prodotti e database di data warehouse su cloud, come PostgreSQL.

Risorse aggiuntive

Analisi dei dati e data warehouse

Applica le seguenti best practice per l'analisi dei dati e il warehouse al tuo ambiente.

Rivedi le tue esigenze di archiviazione dei dati

I data lake e i data warehouse non si escludono a vicenda. I data lake sono utili per l'elaborazione e l'archiviazione di dati non strutturati e semi-strutturati. I data warehouse sono i migliori per analisi e BI.

Esamina le tue esigenze di dati per determinare dove archiviare i tuoi dati e quale prodotto Google Cloud è il più appropriato per elaborare e analizzare i tuoi dati. Prodotti come BigQuery sono in grado di elaborare PB di dati e crescere di pari passo con le tue esigenze.

Identifica le opportunità per la migrazione da un data warehouse tradizionale a BigQuery

Esamina i data warehouse tradizionali attualmente in uso nel tuo ambiente. Per ridurre la complessità e, potenzialmente, i costi, identifica le opportunità di migrazione dei tuoi data warehouse tradizionali a un servizio Google Cloud come BigQuery. Per ulteriori informazioni e per scenari di esempio, consulta Migrazione dei data warehouse in BigQuery.

Pianifica l'accesso federato ai dati

Esamina i requisiti dei tuoi dati e le possibili interazioni con altri prodotti e servizi. Identifica le tue esigenze di federazione dei dati e crea una progettazione di sistema appropriata.

Ad esempio, BigQuery consente di definire tabelle esterne che possono leggere i dati da altre origini, come Bigtable, Cloud SQL, Cloud Storage o Google Drive. Puoi unire queste origini esterne a tabelle archiviate in BigQuery.

Usa gli slot flessibili di BigQuery per fornire capacità burst on demand

A volte hai bisogno di capacità aggiuntiva per eseguire analisi sperimentali o esplorative che richiedono molte risorse di calcolo. BigQuery ti consente di ottenere capacità di calcolo aggiuntiva sotto forma di slot flessibili. Questi slot flessibili sono utili in caso di periodo di domanda elevata o quando vuoi completare un'analisi importante.

Comprendi le differenze nello schema se esegui la migrazione a BigQuery

BigQuery supporta gli schemi star e snowflake, ma per impostazione predefinita utilizza i campi nidificati e ripetuti. I campi nidificati e ripetuti possono essere più facili da leggere e correlare rispetto ad altri schemi. Se i dati sono rappresentati in uno schema a stella o a fiocco di neve e vuoi eseguire la migrazione a BigQuery, esamina la progettazione del sistema per individuare eventuali modifiche necessarie a processi o analisi.

Risorse aggiuntive

Report e visualizzazione

Applica le seguenti best practice per i report e la visualizzazione al tuo ambiente.

Usa BigQuery BI Engine per visualizzare i tuoi dati

BigQuery BI Engine è un servizio di analisi in memoria rapido. Puoi utilizzare BI Engine per analizzare i dati archiviati in BigQuery con tempi di risposta alle query di frazioni di secondo e con elevata contemporaneità. BI Engine è integrato nell'API BigQuery. Utilizza la capacità prenotata di BI Engine per gestire i prezzi on demand o a costo fisso per le tue esigenze. BI Engine può anche funzionare con altre applicazioni di BI o dashboard personalizzate che richiedono tempi di risposta di frazioni di secondo.

Modernizza i tuoi processi di BI con Looker

Looker è una piattaforma aziendale moderna per BI, applicazioni di dati e analisi incorporate. Puoi creare modelli dei dati coerenti sulla base dei tuoi dati in modo rapido e preciso e accedere ai dati all'interno di datastore transazionali e analitici. Looker può anche analizzare i dati su più database e cloud. Se disponi di processi e strumenti BI esistenti, ti consigliamo di modernizzare e utilizzare una piattaforma centralizzata come Looker.

Risorse aggiuntive

Usa strumenti di gestione del flusso di lavoro

L'analisi dei dati coinvolge molti processi e servizi. I dati si spostano tra strumenti e pipeline di elaborazione diversi durante il ciclo di vita dell'analisi dei dati. Per gestire e mantenere pipeline di dati end-to-end, utilizza strumenti di gestione dei flussi di lavoro appropriati. Cloud Composer è uno strumento di gestione del flusso di lavoro completamente gestito basato sul progetto open source Apache Airflow.

Puoi utilizzare Cloud Composer per avviare pipeline Dataflow e per utilizzare modelli di flusso di lavoro Dataproc. Cloud Composer può anche aiutarti a creare una pipeline CI/CD per testare, sincronizzare ed eseguire il deployment di DAG oppure utilizzare una pipeline CI/CD per i flussi di lavoro di elaborazione dati. Per saperne di più, guarda il video Cloud Composer: Development Best Practices.

Risorse per la migrazione

Se utilizzi già una piattaforma di analisi dei dati e vuoi eseguire la migrazione di alcuni o di tutti i carichi di lavoro in Google Cloud, consulta le seguenti risorse di migrazione per conoscere best practice e indicazioni:

Passaggi successivi

Scopri le best practice di progettazione del sistema per l'IA e il machine learning di Google Cloud, tra cui:

Esplora altre categorie nel framework dell'architettura come affidabilità, eccellenza operativa e sicurezza, privacy e conformità.