Consenti alla tua organizzazione di scalare condividendo i dati in modo sicuro ed efficiente tra cloud, piattaforme e regioni
di Matei Zaharia, Bilal Obeidat, Tianyi Huang e Giselle Goicochea
Delta Sharing si è evoluto in OpenSharing, il primo protocollo aperto e indipendente dai vendor per condividere in modo sicuro gli asset AI, tra cui Agent Skills, modelli AI e dati non strutturati. Leggi l'annuncio.
Nel panorama digitale interconnesso di oggi, la condivisione dei dati e la collaborazione tra organizzazioni e piattaforme sono fondamentali per le moderne attività aziendali. Delta Sharing, un protocollo aperto e innovativo per la condivisione dei dati, consente alle organizzazioni di condividere e accedere ai dati in modo sicuro su diverse piattaforme, dando priorità alla sicurezza e alla scalabilità senza vincoli di vendor o formato dei dati.
Questo blog è dedicato alla presentazione delle opzioni di replica dei dati all'interno di Delta Sharing, esplorando linee guida architetturali su misura per specifici scenari di condivisione dei dati. Basandoci sulle esperienze maturate con molti clienti di Delta Sharing, il nostro obiettivo è ridurre i costi di egress e migliorare le prestazioni fornendo alternative specifiche di replica dei dati. Sebbene la condivisione in tempo reale (live sharing) rimanga adatta per molti scenari di condivisione di dati tra aree geografiche diverse (cross-region), vi sono casi in cui la replica dell'intero dataset e la definizione di un processo di aggiornamento dei dati per le repliche regionali locali si rivelano più convenienti. Delta Sharing facilita questo processo grazie all'utilizzo dello storage Cloudflare R2, del Change Data Feed (CDF) Delta Sharing e delle funzionalità di Delta Deep Cloning. Grazie a queste funzionalità, Delta Sharing è molto apprezzato dai clienti perché offre maggiore autonomia agli utenti e una flessibilità eccezionale nel soddisfare le loro esigenze di condivisione dei dati.
Databricks e la Linux Foundation hanno sviluppato Delta Sharing per fornire il primo approccio open source alla condivisione dei dati tra dati, analytics e AI. I clienti possono condividere dati in tempo reale tra piattaforme, cloud e aree geografiche con una sicurezza e una governance solide. Sia che utilizziate il progetto open source in modalità self-hosting, sia che utilizziate la versione completamente gestita di Delta Sharing su Databricks, entrambi offrono una soluzione flessibile, indipendente dalla piattaforma ed efficiente in termini di costi per la distribuzione globale dei dati. I clienti Databricks beneficiano di ulteriori vantaggi all'interno di un ambiente gestito che riduce al minimo i costi amministrativi e si integra nativamente con Databricks Unity Catalog. Questa integrazione offre un'esperienza semplificata per la condivisione dei dati all'interno e all'esterno delle organizzazioni.
Delta Sharing su Databricks ha registrato un'ampia adozione in vari scenari di collaborazione sin dalla sua disponibilità generale nell'agosto 2022.
In questo blog esploreremo due pattern architetturali comuni in cui Delta Sharing ha svolto un ruolo fondamentale nell'abilitare e migliorare scenari aziendali critici:
In questo blog dimostreremo anche che l'architettura di implementazione di Delta Sharing è flessibile e può essere estesa senza problemi per soddisfare nuovi requisiti di condivisione dei dati.
In questo caso d'uso illustreremo un pattern di implementazione comune di Delta Sharing tra i nostri clienti, in cui vi è la necessità aziendale di condividere parte dei dati tra aree geografiche diverse (cross-region), ad esempio per un team di QA in aree geografiche distinte o un team di reporting interessato ai dati sulle attività aziendali a livello globale. Di lavoro, la condivisione di tabelle intra-aziendali comporta:
In questo scenario, sia la business unit del data provider sia quella del data recipient condividono lo stesso account Unity Catalog, ma hanno metastore diversi su Databricks.

Il diagramma precedente illustra l'architettura di alto livello della soluzione Delta Sharing, evidenziando i passaggi chiave del processo:
Questa opzione richiede la condivisione della cronologia della tabella e l'abilitazione del change data feed (CDF), che deve essere esplicitamente abilitato nel codice di configurazione impostando la proprietà della tabella delta.enableChangeDataFeed = true tramite i comandi Create/Alter table.
Inoltre, quando si aggiunge la tabella alla condivisione (Share), assicurarsi che venga aggiunta con l'opzione CDF, come mostrato nell'esempio seguente.
Una volta aggiunti o aggiornati i dati, è possibile accedere alle modifiche come in questo esempio
Sul lato destinatario, è possibile accedere alle modifiche e unirle in una copia locale dei dati in modo simile a quanto mostrato in questo notebook. La propagazione delle modifiche dalla tabella condivisa a una replica locale può essere orchestrata utilizzando un job di workflow di Databricks.
R2 è un'ottima opzione per tutti gli scenari di Delta Sharing perché consente ai clienti di sfruttare appieno il potenziale della condivisione senza preoccuparsi di costi di egress imprevedibili. Questo argomento verrà approfondito più avanti in questo blog.
Un'altra opzione specifica per la condivisione intra-aziendale consiste nell'utilizzare Delta deep clone quando si condivide all'interno dello stesso account cloud Databricks. Il Deep Cloning è una funzionalità Delta che copia sia i dati della tabella di origine sia i metadati della tabella esistente nella destinazione del clone. Inoltre, il comando deep clone è in grado di identificare i nuovi dati e aggiornarli di conseguenza. Ecco la sintassi:
Il comando precedente viene eseguito sul lato destinatario, dove source_table_name è la tabella condivisa e table_name è la copia locale dei dati a cui gli utenti possono accedere.
È possibile pianificare un semplice job di Databricks Workflows per un aggiornamento incrementale dei dati con le modifiche recenti utilizzando il seguente comando:
Lo stesso caso d'uso può essere facilmente esteso per condividere dati con partner e clienti esterni sulla piattaforma Databricks o su qualsiasi altra piattaforma. Questo è un altro pattern esteso comune in cui i partner e i clienti esterni che non utilizzano Databricks desiderano accedere a questi dati tramite Excel, Power BI, Pandas e altri software compatibili come Oracle.
Un altro pattern di scenario comune si presenta quando un'azienda si concentra sulla condivisione dei dati con i clienti, in particolare nei casi che coinvolgono imprese di aggregazione di dati o quando la funzione aziendale principale consiste nel raccogliere dati per conto dei clienti. Un data aggregator, come entità, è specializzato nel raccogliere e unire dati provenienti da fonti diverse in un dataset unificato e coerente. Queste condivisioni di dati sono fondamentali per soddisfare diverse esigenze aziendali, come il processo decisionale, l'analisi di mercato, la ricerca e il supporto alle attività aziendali complessive.
Il modello di condivisione dei dati in questo pattern esegue le seguenti operazioni:
In generale, questo obiettivo può essere solitamente raggiunto dal provider creando un'area di lavoro Databricks in ciascun cloud e replicando i dati utilizzando CDF su una tabella condivisa (come discusso sopra) in tutti e tre i cloud, per migliorare le prestazioni e ridurre i costi di egress. Successivamente, all'interno di ciascuna area geografica cloud, i dati possono essere condivisi con i clienti e i partner appropriati.
Tuttavia, è possibile adottare un approccio nuovo, più efficiente e lineare, utilizzando R2 tramite Cloudflare con Databricks, attualmente in anteprima privata.
L'integrazione di Cloudflare R2 con Databricks consentirà alle organizzazioni di condividere e collaborare sui dati live in modo sicuro, semplice e conveniente. Con Cloudflare e Databricks, i clienti comuni possono eliminare la complessità e i costi dinamici che ostacolano il pieno potenziale delle iniziative di analisi multi-cloud e di AI. Nello specifico, non ci saranno costi di egress e non saranno necessari trasferimenti di dati complessi o costose repliche di set di dati tra aree geografiche diverse.
L'utilizzo di questa opzione richiede i seguenti passaggi:
Come spiegato sopra, questi approcci mostrano vari metodi di replica dei dati on-demand, ciascuno con i propri vantaggi distinti e requisiti specifici, che li rendono adatti a diversi casi d'uso.

Tutti e tre i meccanismi precedenti consentono agli utenti di Delta Sharing di creare una copia locale per ridurre al minimo i costi di egress, in particolare tra cloud e aree geografiche diverse. La tabella seguente fornisce un breve riepilogo per differenziare queste opzioni.
| Strumento di replica dei dati | Caratteristiche principali | Raccomandazione |
|---|---|---|
| Change data feed su una tabella condivisa |
| Utilizzare per la condivisione esterna con partner/clienti in diverse aree geografiche |
| Cloudflare R2 con Databricks |
| Fortemente raccomandato per Delta Sharing su larga scala in termini di numero di condivisioni e più di 2 aree geografiche |
| Delta Deep Clone |
| Consigliato per la condivisione interna tra aree geografiche diverse |
Delta Sharing è aperto, flessibile e conveniente e su Databricks supporta un'ampia gamma di asset di dati, tra cui notebook, volumi e modelli di AI. Inoltre, diverse ottimizzazioni hanno migliorato significativamente le prestazioni dei protocolli Delta Sharing. Il continuo investimento di Databricks nelle funzionalità di Delta Sharing, tra cui il monitoraggio migliorato, la scalabilità, la facilità d'uso e l'osservabilità, sottolinea il suo impegno nel migliorare l'esperienza utente e nel garantire che Delta Sharing rimanga all'avanguardia nella collaborazione sui dati per il futuro.
In questo blog abbiamo fornito linee guida architetturali basate sulla nostra esperienza con molti clienti di Delta Sharing. Il nostro obiettivo principale è la gestione dei costi e le prestazioni. Sebbene la condivisione live sia adatta per molti scenari di condivisione dei dati tra aree geografiche diverse, abbiamo esaminato casi in cui la replica dell'intero set di dati e la definizione di un processo di aggiornamento dei dati per le repliche regionali locali si rivelano più convenienti. Delta Sharing facilita questo processo attraverso l'utilizzo delle funzionalità Delta Sharing di R2 e CDF, offrendo agli utenti una maggiore flessibilità.
Nel caso d'uso della condivisione di dati tra aree geografiche diverse all'interno dell'azienda (Intra-Enterprise Cross-Regional Data Sharing), Delta Sharing eccelle nella condivisione di tabelle di grandi dimensioni con pattern di accesso variegati. La replica locale, facilitata dalla condivisione CDF, garantisce prestazioni ottimali e una gestione efficiente dei costi. Inoltre, R2 tramite Cloudflare con Databricks offre un'opzione efficiente per Delta Sharing su larga scala tra più aree geografiche e cloud.
Per saperne di più su come integrare Delta Sharing nella tua strategia di collaborazione sui dati, consulta le ultime risorse:
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.