Per estrarre ed elaborare i dati da più origini, un data store operativo (ODS) funge da posizione di storage temporanea per l'elaborazione dei dati prima di inviarli alla destinazione di storage finale. I dati possono essere archiviati come strutturati o non strutturati, ma devono essere archiviati in modo da poter essere estratti e trasformati in un formato per la posizione finale del data warehouse. L'architettura ODS è in genere progettata per le pipeline di dati ETL (estrazione, trasformazione e caricamento) ed ELT (estrazione, caricamento e trasformazione).
Che cos'è un ODS?
Un data store operativo è un repository centralizzato per i dati in tempo reale o quasi in tempo reale utilizzati per la creazione di report e l'analisi operativi. Nelle pipeline di dati di grandi dimensioni, un ODS funge da area di staging per la formattazione, la deduplica e l'elaborazione finale dei dati prima che vengano inviati al data warehouse. Ad esempio, una grande organizzazione immobiliare potrebbe estrarre dati da diversi siti web per eseguire analytics per i propri clienti. Durante il processo di estrazione, la pipeline dei dati memorizza le informazioni estratte in un ODS in modo che gli script automatizzati possano formattare, organizzare e deduplicare i dati. Una volta elaborati, gli ETL vengono inviati al data warehouse dove le applicazioni immobiliari possono eseguire query.
Un ODS viene utilizzato per i dati strutturati e non strutturati, ma è particolarmente utile per le pipeline di dati che utilizzano database relazionali. L'ODS potrebbe memorizzare dati non strutturati da file o pagine Web estratte e l'ETL li utilizza per elaborare i dati raccolti prima della fase di trasformazione. In assenza dell'ODS, i dati andrebbero persi se la formattazione dei record non fosse riuscita. Tutti i record che non riescono a trasformarsi possono rimanere nell'ODS per ulteriori elaborazioni o per ulteriori revisioni umane.
Scopo di un ODS
Per le grandi aziende e le applicazioni di machine learning, i dati vengono spesso estratti da più posizioni durante l'elaborazione ETL. La pipeline dei dati potrebbe estrarre i file da un'origine di rete, i dati dagli endpoint API e i dati estratti da un'applicazione web. Gli script utilizzati per raccogliere i dati vengono scaricati in un ODS dove possono essere elaborati. Lo scopo di un ODS è consentire agli script di estrazione dei dati di avere un luogo in cui archiviare le informazioni raccolte prima dell'elaborazione.
Un ODS è una parte importante delle dashboard e delle applicazioni in tempo reale, specialmente quando i dati raccolti in un ODS vengono utilizzati in diverse posizioni. Ad esempio, l'ODS contiene i dati raccolti in cui un processo ETL li formatta prima di inviarli a un data warehouse in cui gli analytics possono utilizzarli per le proiezioni finanziarie. Considera un ODS come un servizio di raccolta dati provvisorio prima che i dati siano disponibili per le applicazioni degli utenti finali.
Vantaggi dell'ODS
Le aziende di livello enterprise hanno bisogno di un ODS per una migliore elaborazione dei dati e pipeline ETL più efficienti. Poiché gli script ETL consentono di archiviare i dati, le applicazioni in tempo reale dispongono anche di una posizione in cui estrarre i dati per l'elaborazione rapida, i calcoli dell'intelligenza artificiale e l'acquisizione del machine learning. Senza un ODS, le pipeline dei dati ETL potrebbero eliminare i dati che non soddisfano i vincoli del database o non possono essere elaborati prima di essere archiviati nel data warehouse.
Ecco alcuni vantaggi aggiuntivi:
- Raccolta conveniente di varie origini dati con formattazione e organizzazione diverse
- Una snapshot completa di tutti i record raccolti da varie origini che possono essere utilizzati per identificare i problemi o rielaborare i dati, se necessario
- Funzionalità di data storage non strutturate per analytics e machine learning
- I sistemi ODS cloud possono essere configurati in modo da essere disponibili per utenti, applicazioni, amministratori o fornitori di terze parti, indipendentemente dalla loro posizione
- Posizione centralizzata per raccogliere dati per tutte le applicazioni interne, che aumenta la precisione e l'integrità dei dati in tutti i report critici
Implementazione di un ODS
Poiché un ODS fa parte della pipeline dei dati e dell'elaborazione ETL, deve essere incluso nei progetti e nell'architettura dei dati. Il tipo di dati raccolti è un fattore determinante per un ODS. Tutti i dati non strutturati richiedono un database NoSQL. Un database relazionale rifiuterà i dati che non sono conformi ai vincoli delle tabelle.
Dopo aver scelto la piattaforma di database, dovrai decidere se ospitare l'ODS on-premise o nel cloud. Un database on-premise potrebbe essere più adatto per le applicazioni interne non disponibili al pubblico, ma gli script ETL devono essere in grado di raggiungere il database e qualsiasi data warehouse interno. I database cloud sono vantaggiosi per le applicazioni di public cloud dove possono essere configurati per connettersi ai database delle applicazioni di produzione cloud.
Le applicazioni in tempo reale richiedono velocità e potenza di calcolo, quindi assicurati che l'architettura del database disponga della larghezza di banda, della potenza di calcolo, della memoria e della capacità di storage necessarie per gestire grandi quantità di dati. Potrebbe essere utile eseguire una prova della raccolta dati per identificare la quantità di capacità di storage necessaria, ma non dimenticare di consentire uno storage aggiuntivo per la scalabilità. Le snapshot potrebbero essere spostate in un altro database di backup o rimosse dopo che i dati invecchiano e non sono più rilevanti.
Confronto tra ODS e data warehouse
Un data warehouse è la destinazione finale per i dati sanificati e formattati. L'ODS nelle procedure ETL è il luogo in cui i dati raw vengono memorizzati fino a quando non vengono strutturati, deduplicati e verificati. Il modo in cui vengono organizzati i dati e dove vengono archiviati dipende dalle singole regole di business. I database relazionali nel data warehouse richiedono dati strutturati con regole rigorose e il modo in cui è necessario formattarli prima di archiviarli.
Le tabelle ODS vengono aggiornate costantemente con i nuovi dati e possono essere utilizzate per l'elaborazione dei dati in tempo reale e le applicazioni utente. I dati strutturati e non strutturati possono essere archiviati in tabelle ODS, ma molti sistemi utilizzano dati non strutturati in modo che la raccolta dei dati abbia meno vincoli. I vincoli e i filtri possono essere applicati durante il processo di importazione nel data warehouse.
Le query devono essere eseguite dalle tabelle del data warehouse, dove i dati sono molto più permanenti. È insolito eliminare i dati da un data warehouse. Potresti archiviarlo, ma la rimozione completa dei dati è insolita. I dati ODS sono molto più volatili. I dati duplicati possono essere rimossi e quelli obsoleti o danneggiati possono essere eliminati.
Conclusione
Se si prevede di raccogliere dati da varie origini per il data warehouse, un'architettura ad interim ODS è vantaggiosa per le pipeline di dati che supportano più applicazioni con regole di business diverse. Puoi trasformare i tuoi dati in formati strutturati e non strutturati per supportare il machine learning, le query, i report, le dashboard analitiche e qualsiasi altra applicazione front-end che utilizza il data warehouse.
Per consentire un database in crescita, le soluzioni cloud di Pure Storage offrono il supporto per AWS , Azure e qualsiasi altro provider per collegare l'ODS. Le procedure ETL consentono di accedere rapidamente ai servizi di database scalabili per supportare l'elaborazione in tempo reale e le query rapide.