Un mesh di dati è un framework architetturale e organizzativo che tratta i dati come prodotto (indicato in questo documento come prodotti di dati). In questo di elaborazione dei dati, i prodotti di dati sono sviluppati dai team che meglio comprendono e che seguono una serie di standard di governance dei dati a livello di organizzazione. Una volta i prodotti dati vengono distribuiti nel mesh di dati, i team distribuiti all'interno di un'organizzazione possono trovare e accedere più rapidamente ai dati pertinenti alle loro esigenze e in modo efficiente. Per ottenere questo mesh di dati ben funzionante, è necessario innanzitutto stabilire i componenti dell'architettura di alto livello e i ruoli dell'organizzazione che questo documento che descrive il problema.
Questo documento fa parte di una serie che descrive come implementare un mesh di dati su Google Cloud. Si presuppone che tu abbia letto e abbia familiarità con concetti descritti in Crea un moderno mesh di dati distribuito con Google Cloud.
La serie è composta dalle seguenti parti:
- Architettura e funzioni in un mesh di dati (questo documento)
- Progettare una piattaforma dati self-service per un mesh di dati
- Crea prodotti dati in un mesh di dati
- Scoprire e utilizzare prodotti di dati in un mesh di dati
In questa serie, il mesh di dati descritto è interno a un'organizzazione. Sebbene sia possibile estendere un'architettura di mesh di dati per fornire dati di terze parti, questo approccio esteso non rientra nell'ambito del presente documento. L'estensione di un mesh di dati richiede ulteriori considerazioni oltre all'utilizzo all'interno di un'organizzazione.
Architettura
I seguenti termini chiave vengono utilizzati per definire i componenti dell'architettura descritti in questa serie:
- Prodotto di dati:un prodotto di dati è un contenitore logico o un raggruppamento di una o più risorse di dati correlate.
- Risorsa di dati: una risorsa di dati è un asset fisico in uno spazio di archiviazione che contiene dati strutturati o archivia una query che restituisce dati e i dati di Google Cloud.
- Attributo dei dati: un attributo dei dati è un campo o un elemento di una risorsa di dati.
Il seguente diagramma fornisce una panoramica dei componenti di architettura chiave in un mesh di dati implementato su Google Cloud.
Il diagramma precedente mostra quanto segue:
- I servizi centrali consentono la creazione e la gestione di prodotti dati, tra cui: Criteri dell'organizzazione che interessano i partecipanti al mesh di dati, i controlli dell'accesso (tramite i gruppi Identity and Access Management) e gli artefatti specifici dell'infrastruttura. Esempi di tali impegni e prenotazioni e l'infrastruttura che facilita il funzionamento del mesh di dati, Creare componenti e soluzioni della piattaforma.
- I servizi centrali forniscono principalmente Data Catalog per tutte le prodotti dati nel mesh di dati e il meccanismo di rilevamento per potenziali clienti di questi prodotti.
- I domini di dati espongono sottoinsiemi di dati come prodotti dati tramite interfacce di consumo dati ben definite. Questi prodotti dati possono essere tabella, visualizzazione, file strutturato, argomento o flusso. In BigQuery, si tratta di un set di dati, mentre in Cloud Storage si tratta di una cartella o di un bucket. Ci possono essere diversi tipi di interfacce che possono essere esposte sotto forma di prodotto dati. Un esempio di interfaccia è una vista BigQuery su una tabella BigQuery. I tipi di interfaccia più comunemente utilizzati utilizzate per scopi analitici sono discussi nei Creare prodotti dati in un mesh di dati.
Implementazione di riferimento del mesh di dati
Puoi trovare un'implementazione di riferimento di questa architettura in
il repository data-mesh-demo
.
Gli script Terraform utilizzati nell'implementazione di riferimento dimostrano
concetti di mesh di dati e non sono destinati all'uso in produzione. Eseguendo questi script, imparerai a:
- Separa le definizioni del prodotto dai dati sottostanti.
- Crea modelli di Data Catalog per descrivere le interfacce dei prodotti.
- Tagga le interfacce dei prodotti con questi modelli.
- Concedi le autorizzazioni ai consumatori dei prodotti.
Per le interfacce dei prodotti, l'implementazione di riferimento crea e utilizza i seguenti tipi di interfaccia:
- Visualizzazioni autorizzate sulle tabelle BigQuery.
- Stream di dati basati su argomenti Pub/Sub.
Per ulteriori dettagli, fai riferimento al file README nel repository.
Funzioni in un mesh di dati
Affinché un mesh di dati funzioni correttamente, è necessario definire ruoli chiari per le persone che eseguire attività all'interno del mesh di dati. La proprietà viene assegnata agli archetipi dei team o funzioni. Queste funzioni contengono i percorsi principali dell'utente per le persone che lavorano il mesh di dati. Per descrivere chiaramente i percorsi degli utenti, sono stati assegnati a ruoli utente. Questi ruoli utente possono essere suddivisi e combinati in base circostanze di ciascuna impresa. Non è necessario mappare i ruoli direttamente dipendenti o team della tua organizzazione.
Un dominio di dati è allineato con un'unità aziendale (BU) o una funzione all'interno di un per l'azienda. Esempi comuni di domini aziendali potrebbero essere il mutuo reparto di una banca o il reparto clienti, distribuzione, finanza o risorse umane di un'azienda. Concettualmente, in un data ci sono due funzioni legate al dominio mesh: i team di produttore di dati e i team di consumatori di dati. È importante capire che è probabile che un singolo dominio di dati svolga entrambe le funzioni contemporaneamente. Un team che si occupa del dominio dati produce prodotti dati dai dati di sua proprietà. Il team Inoltre, consuma prodotti di dati per insight aziendali e per produrre dati derivati per l'utilizzo di altri domini.
Oltre alle funzioni basate sul dominio, un data mesh dispone anche di un insieme di funzioni svolte da team centralizzati all'interno dell'organizzazione. Questi i team centrali consentono il funzionamento del mesh di dati fornendo servizi supervisione, servizi e governance. Riducono il carico operativo per i dati dominio per la produzione e il consumo di prodotti dati e agevolare relazioni interdominio necessarie per il funzionamento del mesh di dati.
Questo documento descrive solo le funzioni che hanno un ruolo specifico per il mesh di dati. Esistono diversi altri ruoli obbligatori in qualsiasi azienda, indipendentemente dall'architettura utilizzata per la piattaforma. Tuttavia, questi altri ruoli fuori dall'ambito di questo documento.
Le quattro funzioni principali in un mesh di dati sono le seguenti:
- Team di producer basati sul dominio dati: Crea e gestisci i prodotti di dati durante il loro ciclo di vita. Questi team sono spesso definiti produttori di dati.
- Team di consumatori basati sul dominio dei dati: Scoprire prodotti dati e utilizzarli in varie applicazioni di analisi. Questi i team potrebbero utilizzare prodotti di dati per crearne di nuovi. Queste squadre sono spesso definiti consumatori dei dati.
- Team centrale per la governance dei dati: Definisce e applica i criteri di governance dei dati tra produttori, garantire ai consumatori un'elevata qualità e affidabilità dei dati. Questo viene spesso definito team di governance dei dati.
- Team della piattaforma di infrastruttura di dati self-service centrale: fornisce una piattaforma di dati self-service per i produttori di dati. Questa squadra fornisce gli strumenti per centralizzare il rilevamento dei dati e il relativo prodotto l'osservabilità usata sia dai consumatori che dai produttori di dati. Questo team è spesso definito come team della piattaforma dati.
Una funzione extra facoltativa da considerare è quella di un centro di eccellenza (COE) per il mesh di dati. Lo scopo del COE è fornire la gestione dei dati mesh. Il COE è anche il team arbitrale designato che risolve qualsiasi conflitti generati da una qualsiasi delle altre funzioni. Questa funzione è utile per per aiutare a collegare le altre quattro funzioni.
Team di producer basato su dominio dati
In genere, i prodotti di dati si basano su un repository fisico di dati (uno o più data warehouse, data lake o flussi). Un'organizzazione necessita di ruoli tradizionali nelle piattaforme di dati per creare e mantenere questi repository. Tuttavia, questi ruoli tradizionali delle piattaforme dati non sono in genere le persone che creano il prodotto dati.
Per creare prodotti dati da questi repository fisici, un'organizzazione ha bisogno un mix di professionisti dei dati, come data engineer e data architect. La tabella seguente elenca tutti i ruoli utente specifici del dominio necessari nei team di produttori di dati.
Ruolo |
Responsabilità |
Competenze richieste |
Risultati auspicati |
---|---|---|---|
Proprietario del prodotto dati |
|
Analisi dei dati Architettura dei dati Product manager |
|
Responsabile tecnico del prodotto dati |
|
Data engineering Architettura dei dati Ingegneria del software |
|
Assistenza per i prodotti dati |
|
Ingegneria del software Site Reliability Engineering (SRE) |
|
Esperto in materia (SME) per il dominio dei dati |
|
Analisi dei dati Architettura dei dati |
|
Proprietario dei dati |
|
|
|
Team dei consumatori basati sul dominio dei dati
In un data mesh, le persone che utilizzano un prodotto dati sono in genere utenti di dati al di fuori del dominio del prodotto dati. Questi utenti utilizzano un catalogo di dati centralizzato per trovare prodotti dati pertinenti alle loro esigenze. Poiché è possibile che più di un prodotto dati soddisfi le loro esigenze, i dati i consumatori possono abbonarsi a più prodotti di dati.
Se i consumatori dei dati non riescono a trovare il prodotto dati richiesto per il loro utilizzo in questo caso, è sua responsabilità consultare direttamente il COE del mesh di dati. Durante la consultazione, i consumatori dei dati possono aumentare le loro esigenze e cercare consigli su come soddisfare queste esigenze da uno o più domini.
Quando cercano un prodotto dati, i consumatori dei dati cercano dati che aiutino raggiungono vari casi d'uso, come dashboard di analisi permanente report, singoli report sul rendimento e altre metriche sul rendimento aziendale. In alternativa, i consumatori dei dati potrebbero essere alla ricerca di prodotti di dati che utilizzata nei casi d'uso di intelligenza artificiale (AI) e machine learning (ML). A a raggiungere questi vari casi d'uso, i consumatori dei dati necessitano di una combinazione utenti tipo dei professionisti, ovvero:
Ruolo |
Responsabilità |
Competenze richieste |
Risultati auspicati |
---|---|---|---|
Analista di dati |
Cerca, identifica, valuta e si iscrive Prodotti dati per un singolo dominio o interdominio per creare una base il funzionamento dei framework di business intelligence. |
Ingegneria dell'analisi Analisi dell'attività |
|
Sviluppatore di applicazioni |
Sviluppa un framework applicativo per il consumo di dati su uno o più prodotti di dati, all'interno o all'esterno dominio. |
Sviluppo di applicazioni Data engineering |
|
Esperto di visualizzazione dati |
|
Analisi dei requisiti Visualizzazione dati |
|
Data scientist |
|
ML engineering Ingegneria dell'analisi |
|
Team centrale per la governance dei dati
Il team di governance dei dati consente ai produttori e ai consumatori di dati di condividere, aggregare e calcolare i dati in modo sicuro e self-service, senza introdurre rischi di conformità per l'organizzazione.
Per soddisfare i requisiti di conformità dell'organizzazione, il team di governance dei dati è un mix di utenti tipo di professionisti dei dati, che sono i seguenti:
Ruolo |
Responsabilità |
Competenze richieste |
Risultati auspicati |
---|---|---|---|
Esperto di governance dei dati |
|
SME legale Esperto di sicurezza SME sulla privacy dei dati |
|
Gestore dati (si trova all'interno di ciascun dominio) |
|
Architettura dei dati Stewardship dei dati |
|
Data governance engineer |
|
Ingegneria del software |
|
Team della piattaforma per l'infrastruttura dati self-service centrale
Il team della piattaforma di infrastruttura dati self-service o semplicemente il team della piattaforma di dati è responsabile della creazione di un insieme di componenti dell'infrastruttura dati. I team dei domini di dati distribuiti usano questi componenti per creare e distribuire prodotti di dati. Il team della piattaforma dati promuove inoltre best practice e introduce strumenti e metodologie che aiutano a ridurre il carico cognitivo per da team distribuiti quando adottano nuove tecnologie.
L'infrastruttura della piattaforma deve fornire una facile integrazione con gli strumenti operativi per l'osservabilità globale, la strumentazione e l'automazione della conformità. In alternativa, l'infrastruttura deve facilitare tale integrazione per configurare in team distribuiti per il successo.
Il team della piattaforma dati ha un modello di responsabilità condivisa che utilizza i team di domini distribuiti e il team dell'infrastruttura sottostante. Il modello mostra le responsabilità che ci si aspetta dai consumatori della piattaforma i componenti della piattaforma supportati dal team della piattaforma dati.
Poiché la piattaforma dati è di per sé un prodotto interno, non supporta per ogni caso d'uso. Al contrario, il team della piattaforma dati rilascia continuamente nuovi servizi e funzionalità secondo una roadmap prioritaria.
Il team della piattaforma dati potrebbe disporre di un insieme standard di componenti sviluppo del prodotto. Tuttavia, i team dei domini di dati potrebbero scegliere di utilizzare un modello un insieme di componenti se le esigenze di un team non sono in linea con quelle fornite completamente gestita. Se i team del dominio dei dati scelgono un approccio diverso, devono garantire che qualsiasi infrastruttura della piattaforma creata e gestita sia conforme con criteri e sistemi di protezione a livello di organizzazione per la sicurezza e la governance dei dati. Per l'infrastruttura della piattaforma dati sviluppata al di fuori della rete di dati centrali team della piattaforma dati, può scegliere di co-investire o incorporare i propri ingegneri nei team del dominio. La scelta del team della piattaforma di dati di investire congiuntamente o di integrare gli ingegneri potrebbe dipendere dall'importanza strategica dell'infrastruttura della piattaforma di dominio dati per l'organizzazione. Restando coinvolti nello sviluppo dell'infrastruttura da parte dei team del dominio dati, le organizzazioni possono fornire l'allineamento e le competenze tecniche necessarie per rielaborare tutti i nuovi componenti dell'infrastruttura della piattaforma in fase di sviluppo per un riutilizzo futuro.
Potresti dover limitare l'autonomia nelle prime fasi della creazione di un mesh di dati se il tuo obiettivo iniziale è ottenere l'approvazione degli stakeholder per lo scale up dei dati mesh. Tuttavia, la limitazione dell'autonomia rischia di creare un collo di bottiglia ai dati centrali dal team della piattaforma Google Cloud. Questo collo di bottiglia può impedire la scalabilità del data mesh. Quindi, qualsiasi le decisioni di centralizzazione devono essere prese con attenzione. Per i produttori di dati, le scelte tecniche rispetto a una serie limitata di opzioni disponibili è preferibile valutare e scegliere tra un elenco illimitato di opzioni le istanze server autonomamente. Promuovere l'autonomia dei produttori di dati non equivale a creare una panorama tecnologico non regolamentato. L'obiettivo è invece promuovere la conformità e l'adozione della piattaforma trovando il giusto equilibrio tra libertà di scelta e standardizzazione.
Infine, un buon team di piattaforma dati è una fonte centrale di istruzione e offre per il resto dell'azienda. Di seguito sono riportate alcune delle attività più efficaci consigliate per i team delle piattaforme di dati centrali:
- Promuovere regolari revisioni progettuali architettoniche per il nuovo funzionamento progetti e proporre modalità di sviluppo comuni tra i team di sviluppo.
- Condividere conoscenze ed esperienze, per definire collettivamente le migliori pratiche e linee guida sull'architettura.
- Assicurarsi che gli ingegneri dispongano degli strumenti giusti per la convalida e il controllo alla ricerca di inconvenienti comuni, come problemi di codice, bug e riduzioni delle prestazioni.
- Organizzare hackathon interni in modo che i team di sviluppo possano far emergere per soddisfare le esigenze di strumentazione interna.
Esempi di ruoli e responsabilità per il team della piattaforma dati centrale include:
Role | Responsabilità | Competenze richieste |
Risultati auspicati |
---|---|---|---|
Proprietario del prodotto della piattaforma dati |
|
Strategia e operazioni sui dati Gestione prodotti Gestione degli stakeholder |
|
Data Platform Engineer |
|
Data engineering Software engineering |
|
Platform and Security Engineer (un rappresentante del reparto IT centrale come networking e sicurezza, che sono integrati nei dati del team della piattaforma) |
|
Ingegneria dell'infrastruttura Ingegneria del software |
|
Architetto aziendale |
|
Architettura dei dati Iterazione delle soluzioni e problem solving Aumento del consenso |
|
Considerazioni aggiuntive per un mesh di dati
Esistono più opzioni di architettura per una piattaforma di dati di analisi, ciascuna con prerequisiti diversi. Per abilitare ogni architettura del mesh di dati, consigliamo alla tua organizzazione di seguire le best practice descritte in questo .
Acquisire finanziamenti per la piattaforma
Come spiegato nel post del blog, "Se vuoi trasformare inizia con la finanza", la piattaforma non termina mai: funziona sempre in base a una priorità la roadmap. Pertanto, la piattaforma deve essere finanziata come prodotto, non come progetto con un endpoint fisso.
I costi sono a carico del primo utilizzatore del mesh di dati. Di solito, il costo viene condiviso tra l'azienda che forma il primo dominio di dati che avvia il mesh di dati e il team tecnologico centrale, che generalmente ospita i dati centrali dal team della piattaforma Google Cloud.
Per convincere i team finanziari ad approvare i finanziamenti per la piattaforma centrale, di creare un caso aziendale per valore della piattaforma centralizzata realizzata nel tempo. Questo valore deriva reimplementare gli stessi componenti nei singoli team di pubblicazione.
Definire la piattaforma minima utilizzabile per il mesh di dati
Per aiutarti a definire la piattaforma minima utilizzabile per il mesh di dati, consigliamo di eseguire un progetto pilota e di eseguire l'iterazione di uno o più casi aziendali. Per pilota, trovare i casi d'uso necessari e i casi in cui c'è un consumatore pronto adottare il prodotto di dati risultante. I casi d'uso dovrebbero già disporre di finanziamenti sviluppare i prodotti dati, ma dovrebbe essere necessario l'input dei tecnici team di sicurezza.
Assicurati che il team che implementa il progetto pilota comprenda il mesh di dati operativo come segue:
- L'azienda (ovvero il team del produttore dei dati) è proprietaria del backlog, assistenza e manutenzione.
- Il team centrale definisce i pattern self-service e aiuta business crea il prodotto dati, ma lo passa allo l'attività da gestire e possedere quando sarà completata.
- L'obiettivo principale è dimostrare il modello operativo di business (domini prodotti, domini consumati). L'obiettivo secondario è dimostrare l'efficacia modello operativo (pattern self-service sviluppati dal team centrale).
- Poiché le risorse del team della piattaforma sono limitate, utilizza team trunk e ramo per mettere insieme le conoscenze ma allo stesso tempo consentire lo sviluppo di modelli di Google Cloud.
Ti consigliamo inoltre di procedere nel seguente modo:
- Pianifica le roadmap invece di lasciare che servizi e funzionalità si evolvano in modo organico.
- Definire le funzionalità minime della piattaforma utilizzabili tra importazione, archiviazione elaborazione, analisi e ML.
- Incorpora la governance dei dati in ogni fase, non come un flusso di lavoro separato.
- Implementare le funzionalità minime in termini di governance, piattaforma flusso di valore e la gestione dei cambiamenti. Le capacità minime sono quelle che per soddisfare l'80% dei business case.
Pianificare la coesistenza del mesh di dati con una piattaforma dati esistente.
Molte organizzazioni che vogliono implementare un data mesh probabilmente hanno già una piattaforma dati esistente, ad esempio un data lake, un data warehouse o una combinazione di entrambi. Prima di implementare un mesh di dati, queste organizzazioni devono fare un piano come la loro piattaforma di dati esistente può evolvere di pari passo con la crescita del mesh di dati.
Queste organizzazioni dovrebbero prendere in considerazione fattori quali:
- Le risorse di dati più efficaci sul mesh di dati.
- Gli asset che devono rimanere all'interno della piattaforma dati esistente.
- Se gli asset devono essere spostati o se possono essere mantenuti sul piattaforma esistente e continuare a partecipare al mesh di dati.
Passaggi successivi
- Per scoprire di più sulla progettazione e il funzionamento di una topologia cloud, consulta il Framework dell'architettura Google Cloud.
- Per altre architetture di riferimento, diagrammi e best practice, esplora il Centro architetture cloud.