Architettura di analisi moderna con Azure Databricks

Azure Databricks
Microsoft Fabric
Power BI
Azure Data Lake Storage

Idee per soluzioni

In questo articolo viene descritta un'idea di soluzione. Il cloud architect può usare queste linee guida per visualizzare i componenti principali di un'implementazione tipica di questa architettura. Usare questo articolo come punto di partenza per il design di una soluzione ben progettata che sia in linea con i requisiti specifici del carico di lavoro.

Questa soluzione descrive l'architettura dei dati moderna. Azure Databricks costituisce il nucleo della soluzione. Questa piattaforma funziona perfettamente con altri servizi, ad esempio Azure Data Lake Storage Gen2, Microsoft Fabric e Power BI.

Apache e Apache® Spark™ sono marchi registrati o marchi di Apache Software Foundation nei Stati Uniti e/o in altri paesi. L'uso di questi marchi non implica alcuna approvazione da parte di Apache Software Foundation.

Architettura

Diagramma dell'architettura che illustra come un'architettura dei dati moderna raccoglie, elabora, analizza e visualizza i dati.

Scaricare un file di Visio di questa architettura.

Flusso di dati

  1. Azure Databricks inserisce dati di streaming non elaborati da Hub eventi di Azure usando tabelle live Delta.

  2. Fabric Data Factory carica dati batch non elaborati in Data Lake Storage Gen2.

  3. Per l'archiviazione dei dati:

    • Data Lake Storage Gen2 ospita dati di tutti i tipi, ad esempio strutturati, non strutturati e semistrutturati. Archivia anche i dati batch e di streaming.

    • Delta Lake costituisce il livello curato del data lake. Archivia i dati perfezionati in un formato open source.

    • Azure Databricks funziona bene con un'architettura medallion che organizza i dati in livelli:

      • Bronze: contiene dati non elaborati.
      • Silver: contiene dati puliti e filtrati.
      • Gold: archivia i dati aggregati utili per l'analisi aziendale.
  4. La piattaforma analitica inserisce i dati dalle origini batch e di streaming diverse. I data scientist usano questi dati per queste attività:

    • Preparazione dei dati.
    • Esplorazione dei dati.
    • Preparazione del modello.
    • Training del modello.

    MLflow gestisce le esecuzioni dei parametri, delle metriche e del modello nel codice di data science. Le possibilità di codifica sono flessibili:

    • Il codice può essere in SQL, Python, R e Scala.
    • Il codice può usare librerie e framework open source più diffusi, ad esempio Koalas, Pandas e scikit-learn, preinstallati e ottimizzati.
    • I professionisti possono ottimizzare le prestazioni e i costi con opzioni di calcolo a nodo singolo e multinodo.
  5. I modelli di Machine Learning sono disponibili in diversi formati:

    • Azure Databricks archivia informazioni sui modelli nel Registro modelli MLflow. Il Registro di sistema rende disponibili i modelli tramite batch, streaming e API REST.
    • La soluzione può anche distribuire modelli in servizi Web di Azure Machine Learning o servizio Azure Kubernetes (servizio Azure Kubernetes).
  6. I servizi che funzionano con i dati si connettono a una singola origine dati sottostante per garantire la coerenza. Ad esempio, gli utenti possono eseguire query SQL nel data lake con Azure Databricks SQL Warehouses. Questo servizio:

  7. Gli utenti possono eseguire il mirroring di set di dati gold da Databricks Unity Catalog in Fabric. il mirroring di Databricks in Fabric consente agli utenti di integrarsi facilmente senza spostamento dei dati o replica dei dati.

  8. Power BI genera report analitici e cronologici e dashboard dalla piattaforma dati unificata. Questo servizio usa queste funzionalità quando si usa Azure Databricks:

    • Connettore predefinito di Azure Databricks per la visualizzazione dei dati sottostanti.
    • Driver JDBC (Java Database Connectivity) e ODBC (Open Database Connectivity).
    • Con il mirroring di Databricks in Fabric, è possibile sfruttare Direct Lake per caricare i modelli semantici PBI per query con prestazioni più elevate.
  9. La soluzione usa il catalogo Unity e i servizi di Azure per la collaborazione, le prestazioni, l'affidabilità, la governance e la sicurezza:

    • Databricks Unity Catalog offre funzionalità centralizzate di controllo di accesso, controllo, derivazione e individuazione dei dati nelle aree di lavoro di Azure Databricks.

    • Microsoft Purview offre servizi di individuazione dei dati, classificazione dei dati sensibili e informazioni dettagliate sulla governance nel patrimonio di dati.

    • Azure DevOps offre integrazione continua e distribuzione continua (CI/CD) e altre funzionalità di controllo della versione integrate.

    • Azure Key Vault gestisce in modo sicuro segreti, chiavi e certificati.

    • Microsoft Entra ID e provisioning SCIM fornisce l'accesso Single Sign-On (SSO) per utenti e gruppi di Azure Databricks. Azure Databricks supporta il provisioning utenti automatizzato con Microsoft Entra ID per queste attività:

      • Creazione di nuovi utenti e gruppi.
      • Assegnazione di un livello di accesso a ogni utente.
      • Rimozione di utenti e negazione dell'accesso.
    • Monitoraggio di Azure raccoglie e analizza i dati di telemetria delle risorse di Azure. Identificando in modo proattivo i problemi, questo servizio ottimizza le prestazioni e l'affidabilità.

    • Gestione costi Microsoft offre servizi di governance finanziaria per i carichi di lavoro di Azure.

Componenti

La soluzione usa i componenti seguenti.

Componenti principali

  • azure Databricks è una piattaforma di analisi dei dati che usa cluster Spark per elaborare flussi di dati di grandi dimensioni. Pulisce e trasforma i dati non strutturati, lo combina con i dati strutturati e può eseguire il training e la distribuzione di modelli di Machine Learning. In questa architettura Databricks funge da strumento centrale per l'inserimento, l'elaborazione e la gestione dei dati, fornendo un ambiente unificato per la gestione dell'intero ciclo di vita dei dati.

  • azure Databricks SQL Warehouse sono risorse di calcolo che consentono di eseguire query ed esplorare i dati in Databricks. In questa architettura è possibile sfruttare gli endpoint SQL per connettersi direttamente ai dati da Power BI.

  • azure Databricks Delta Live Tables è un framework dichiarativo per la creazione di pipeline di elaborazione dati affidabili, gestibili e testabili. In questa architettura, le tabelle Live Delta consentono di definire le trasformazioni da eseguire sui dati e gestire l'orchestrazione delle attività, la gestione dei cluster, il monitoraggio, la qualità dei dati e la gestione degli errori in Databricks.

  • Microsoft Fabric è una piattaforma di dati e analisi end-to-end progettata per le aziende che necessitano di una soluzione unificata. La piattaforma offre servizi come Data Engineering, Data Factory, Data Science, Real-Time Analytics, Data Warehouse e Database. In questa architettura si esegue il mirroring delle tabelle del catalogo Unity in Fabric e si usa Direct Lake in Power BI per ottenere prestazioni migliori.

  • Data Factory in Microsoft Fabric offre un'esperienza di integrazione dei dati moderna per inserire, preparare e trasformare i dati da un set completo di origini dati in Fabric. In questa architettura vengono sfruttati i connettori predefiniti in diverse origini dati per l'inserimento rapido in ADLS o OneLake, in cui Databricks recupererà e trasformerà ulteriormente i dati batch.

  • hub eventi è una piattaforma di streaming big data completamente gestita. Come piattaforma distribuita come servizio (PaaS), offre funzionalità di inserimento di eventi. In questa architettura, Hub eventi viene usato per lo streaming di dati, a cui Databricks può connettersi ed elaborare tramite Spark Streaming o tabelle Delta Live.

  • data lake Storage Gen2 è un data lake scalabile e sicuro per l'analisi ad alte prestazioni. Gestisce più petabyte di dati e supporta centinaia di gigabit di velocità effettiva. ADLS può archiviare dati strutturati, semistrutturati e non strutturati. In questa architettura si usa ADLS per archiviare sia i dati batch che i dati di streaming.

  • Machine Learning è un ambiente basato sul cloud che consente di compilare, distribuire e gestire soluzioni di analisi predittiva. Con questi modelli è possibile prevedere comportamento, risultati e tendenze. In questa architettura AML può sfruttare i dati trasformati da Databricks per il training e l'inferenza di modelli.

  • Il servizio Azure Kubernetes è un servizio Kubernetes a disponibilità elevata, sicuro e completamente gestito. Il servizio Azure Kubernetes semplifica la distribuzione e la gestione delle applicazioni in contenitori. In questa architettura, il servizio Azure Kubernetes viene usato per ospitare modelli di Machine Learning in un ambiente in contenitori per l'inferenza scalabile.

  • Delta Lake è un livello di archiviazione che usa un formato di file aperto. Questo livello viene eseguito sopra l'archiviazione cloud, ad esempio Data Lake Storage Gen2. Delta Lake supporta il controllo delle versioni dei dati, il rollback e le transazioni per l'aggiornamento, l'eliminazione e l'unione dei dati. In questa architettura Delta funziona come formato di file primario per la scrittura e la lettura di dati da ADLS.

  • MLflow è una piattaforma open source per la gestione del ciclo di vita di Machine Learning. I componenti monitorano i modelli di Machine Learning durante il training e l'esecuzione. In questa architettura, analogamente a AML, è possibile sfruttare MLflow in Databricks per gestire il ciclo di vita di Ml, incluso il training e l'inferenza usando i dati di Unity Catalog appena trasformati all'interno di Databricks.

Creazione di report e gestione dei componenti

  • databricks Unity Catalog offre funzionalità centralizzate di controllo di accesso, controllo, derivazione e individuazione dei dati nelle aree di lavoro di Azure Databricks. In questa architettura, Unity Catalog funziona come strumento principale all'interno di Databricks per gestire e proteggere l'accesso ai dati.

  • Power BI è una raccolta di app e servizi software. Questi servizi creano e condividono report che si connettono e visualizzano origini dati non correlate. Insieme ad Azure Databricks, Power BI può fornire la determinazione della causa radice e l'analisi dei dati non elaborati. In questa architettura Power BI viene usato per la creazione di dashboard e report che forniscono informazioni dettagliate sui dati elaborati da Databricks e Fabric.

  • Microsoft Purview gestisce i dati SaaS (Software as a Service) locali, multicloud e software. Questo servizio di governance gestisce le mappe orizzontale dei dati. Le funzionalità includono l'individuazione automatica dei dati, la classificazione dei dati sensibili e la derivazione dei dati. In questa architettura, Purview viene usato per analizzare e tenere traccia dei dati inseriti in Unity Catalog, Fabric, Power BI e ADLS.

  • Azure DevOps è una piattaforma di orchestrazione DevOps . Questo SaaS fornisce strumenti e ambienti per la compilazione, la distribuzione e la collaborazione alle applicazioni. In questa architettura, Azure DevOps viene usato per automatizzare la distribuzione dell'infrastruttura di Azure. È anche possibile sfruttare GitHub per l'automazione e il controllo della versione del codice di Databricks, per una migliore collaborazione, il rilevamento delle modifiche e l'integrazione con le pipeline CI/CD.

  • Azure Key Vault archivia e controlla l'accesso ai segreti, come token, password e chiavi API. Key Vault crea e controlla anche le chiavi di crittografia e gestisce i certificati di sicurezza. In questa architettura, AKV viene usato per archiviare le chiavi di firma di accesso condiviso da ADLS. Queste chiavi vengono quindi usate in Databricks e in altri servizi per l'autenticazione.

  • Microsoft Entra ID offre servizi di gestione delle identità e degli accessi basati sul cloud. Queste funzionalità consentono agli utenti di accedere e accedere alle risorse. In questa architettura, Entra Id viene usato per autenticare e autorizzare utenti e servizi in Azure.

  • SCIM consente di configurare il provisioning nell'account Azure Databricks usando Microsoft Entra ID. In questa architettura viene usata per gestire gli utenti che accedono alle aree di lavoro di Databricks.

  • Monitoraggio di Azure raccoglie e analizza i dati in ambienti e risorse di Azure. Questi dati includono i dati di telemetria delle app, ad esempio le metriche delle prestazioni e i log attività. In questa architettura, Monitoraggio di Azure viene usato per monitorare l'integrità delle risorse di calcolo in Databricks e Azure Machine Learning, oltre ad altri componenti che inviano log a Monitoraggio di Azure.

  • Gestione costi Microsoft gestisce la spesa cloud. Usando budget e consigli, questo servizio organizza le spese e mostra come ridurre i costi. In questa architettura, Gestione costi Microsoft viene usato per il monitoraggio e il controllo del costo dell'intera soluzione.

Dettagli dello scenario

Le architetture di dati moderne soddisfano questi criteri:

  • Unificare i carichi di lavoro di dati, analisi e intelligenza artificiale.
  • L'esecuzione viene eseguita in modo efficiente e affidabile su qualsiasi scala.
  • Fornire informazioni dettagliate tramite dashboard di analisi, report operativi o analisi avanzate.

Questa soluzione descrive un'architettura dei dati moderna che raggiunge questi obiettivi. Azure Databricks costituisce il nucleo della soluzione. Questa piattaforma funziona perfettamente con altri servizi. Insieme, questi servizi offrono una soluzione con queste qualità:

  • Semplice: l'analisi unificata, l'analisi scientifica dei dati e l'apprendimento automatico semplificano l'architettura dei dati.
  • Open: la soluzione supporta codice open source, standard aperti e framework aperti. Funziona anche con i più diffusi ambienti di sviluppo integrato (IDE), librerie e linguaggi di programmazione. Tramite connettori nativi e API, la soluzione funziona anche con un'ampia gamma di altri servizi.
  • Collaborazione: i data engineer, i data scientist e gli analisti collaborano con questa soluzione. Possono usare notebook collaborativi, IDE, dashboard e altri strumenti per accedere e analizzare i dati sottostanti comuni.

Potenziali casi d'uso

Il sistema che Swiss Re Group ha costruito per la sua divisione Property & Casualty Trustworthy ha ispirato questa soluzione. Oltre al settore assicurativo, qualsiasi area che funziona con Big Data o Machine Learning può anche trarre vantaggio da questa soluzione. Alcuni esempi:

  • Il settore energetico
  • Al dettaglio ed e-commerce
  • Servizi bancari e finanziari
  • Medicina e sanità

Passaggi successivi

Per informazioni sulle soluzioni correlate, vedere gli argomenti seguenti: