Domanda

Stiamo lavorando su un datawarehouse per una banca e hanno più o meno seguito il modello standard Kimball di tabelle di gestione temporanea, uno schema a stella e un ETL per estrarre i dati attraverso il processo.

  

Kimball parla di usare la zona di sosta per l'importazione, la pulizia, l'elaborazione e tutto ciò fino a quando si è pronti a mettere i dati in schema a stella. In pratica ciò significa tipicamente caricamento dei dati sorgenti in un insieme di tabelle con poche o nessuna modifica, seguite da prendendo i dati eventualmente attraverso tabelle intermedie finché è pronto ad andare in schema a stella. Questo è un sacco di lavoro per una singola entità, nessun singolo responsabilità qui.

Sistemi precedenti ho lavorato hanno fatto una distinzione tra le diverse serie di tabelle, nella misura di avere:

  • Carica tabelle : i dati del sistema di origine prime, non modificato
  • Messa in scena tabelle : trasformazione intermedia, digitato e purificato
  • tavoli da magazzino

Si può attaccare questi in schemi separati e quindi applicare politiche diverse per archivio / backup / sicurezza, ecc Uno degli altri ragazzi ha lavorato in un magazzino dove c'è un StagingInput e StagingOutput , storia simile. La squadra nel suo complesso ha un sacco di esperienza, sia datawarehouse e non.

Tuttavia, nonostante tutto questo, guardando attraverso Kimball e il web sembra che ci sia assolutamente niente per iscritto di dare qualsiasi tipo di struttura alla base di dati messa in scena. Uno potrebbe essere perdonato per aver creduto che il signor Kimball ci sarebbe tutto il lavoro con messa in scena come questa grande piscina profonda non strutturati scuro dei dati.

Mentre, naturalmente, è abbastanza evidente come andare a questo proposito, se vogliamo aggiungere un po 'di più la struttura per l'area di sosta, sembra molto strano che non sembra esserci nulla di scritto su di esso.

Quindi, qual è chiunque altro là fuori a fare? Mette in scena proprio questo gran casino non strutturati o non popolare avere alcuni disegni interessanti su di esso?

È stato utile?

Soluzione

ho sperimentato lo stesso problema. Abbiamo una grande DataWarehouse HR e sto tirando i dati dai sistemi di tutta l'impresa. Ho una bella collezione di tabelle dei fatti e dimensione, ma la zona messa in scena è un disastro. Non so di eventuali norme per la progettazione di questo. Vorrei seguire la stessa strada si è in e venire con un set standard di nomi per mantenere le cose in ordine. Il tuo suggerimento è abbastanza buona per la denominazione. Mi piacerebbe continuare a lavorare con questo.

Altri suggerimenti

Solo una nota, c'è un libro intitolato "The Data Warehouse ETL Toolkit" di Raph Kimball e Joe Caserta, così il signor Kimball ha messo un po 'di sforzo in questo. :)

Stiamo lavorando ad un grande progetto di assicurazione DWH, al momento, la sua un po 'complicato, ma ognuno di sorgente di tabelle di sistema vengono messi in uno schema distinto in una banca dati messa in scena, allora abbiamo ETL che si muove / deterge / conforme (MDM ) i dati dal database di gestione temporanea in un database STAGINGCLEAN, poi ulteriormente ETL che sposta i dati in un DWH Kimball.

La separazione della messa in scena e il database StagingClean troviamo molto utile per diagnosticare problemi in particolare sulla qualità dei dati, come abbiamo messo in scena sporca dati, nonché la versione pulita prima di essere trasformato nel DWH corretta.

Non ci possono essere aree sub nella messa in scena. Chiamato staging1, staging2, per esempio.

Staging1 può essere un tirare direttamente dalle fonti di dati senza trasformazione. E Staging1 conserva solo i dati più recenti.

Staging2 mantiene i dati trasformati e pronto ad andare al magazzino. Staging2 mantiene tutti i dati storici.

Date un'occhiata a questo post qui . Esso fornisce una buona panoramica delle responsabilità di un area di sosta all'interno di un DW.

Quello che una grande domanda.

In passato abbiamo usato _MIRR (per specchio) suffisso per i dati non trasformati sbarcati nel database, per esempio. rispecchia la fonte. Poi usiamo _STG per i dati trasformati dalla sorgente, quindi _DW per lo schema a stella.

Le tabelle di gestione temporanea qui sarebbe in 3NF. Penso che questo è il punto chiave. I dati sono atterrato non trasformata e tenuto separato dal successivo passaggio in cui normalizziamo completamente i dati, prima di allora appiattire tutto fuori nel nostro schema a stella per la segnalazione.

Personalmente, non vado in cerca di guai, in Kimball, o altrove.

Che tipo di "struttura" stai cercando? Che tipo di "struttura" si sente che è necessario? Quali problemi si stanno vedendo per la mancanza di "struttura" che avete oggi?

io ti partirò con l'impressione che non credo molto di Kimball. Non è così - non ho letto Kimball. Io non credo molto di cambiare le cose senza un motivo al di là di un certo modello di montaggio. Cambiare per risolvere alcuni problemi del mondo reale andrebbe bene. Per esempio, se si trova si sta mettendo in scena il backup tabelle perché una mancanza di struttura ha causato la messa in scena e le tabelle di magazzino per essere trattati allo stesso, allora questo sarebbe un motivo per cambiare la struttura. Ma se questo è il genere di cosa che aveva in mente, allora si dovrebbe modificare la tua domanda per indicare esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top