Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Perché abbiamo bisogno di SSIS e dello schema a stella di Data Warehouse?

Potrebbe essere un candidato per "Too Broad", ma ci proverò.

Perché dovrei voler memorizzare i miei dati 3 volte?

Ho i miei dati nel mio OLTP (sistema di elaborazione delle transazioni online), perché dovrei spostare quei dati in una struttura completamente nuova (data warehouse) e poi spostarli di nuovo in un sistema OLAP?

Iniziamo in modo semplice. Hai un solo sistema di registrazione e non è incredibilmente occupato. Forse puoi cavartela con un livello di astrazione (viste nel database o query con nome in SSAS) e saltare il data warehouse.

Quindi, costruisci i tuoi cubi, le dimensioni e le persone iniziano a usarlo e lo adorano.

"Sai cosa sarebbe fantastico? Se potessimo correlare i nostri Blats ai Foos and Bars che abbiamo già lì dentro" Ora devi integrare la tua semplice app con i dati di un'app completamente non correlata. L'ID cliente 10 nella tua app è l'ID cliente {ECA67697-1200-49E2-BF00-7A13A549F57D} nell'app CRM. E adesso? Avrai bisogno di presentare un'unica vista del Cliente ai tuoi utenti o non utilizzeranno lo strumento.

Forse governi con pugno di ferro e dici No, non puoi avere quei dati nel cubo e i tuoi utenti lo assecondano.

"Le abitudini di acquisto delle persone cambiano dopo aver avuto un figlio?" Non possiamo rispondere perché la nostra applicazione memorizza solo la versione corrente di un cliente. Una volta che hanno un figlio, hanno sempre avuto un figlio, quindi non puoi identificare chiaramente gli schemi prima o dopo un evento.

"Come sono state le nostre vendite l'anno scorso" Non possiamo rispondere perché manteniamo solo 12 settimane di dati nell'app per renderla gestibile.

"I dati nei cubi non sono aggiornati, puoi aggiornarli?" Egads, è metà giornata. L'elaborazione SSAS richiede i blocchi della tabella e sostanzialmente porterebbe la nostra app inattiva fino al termine dell'elaborazione.

Devo continuare con questi scenari?

Riepilogo

Il data warehouse funge da punto di integrazione per diversi sistemi. Ha dimensioni conformi (tutti hanno una definizione comune di cosa sia una cosa). I dati nel magazzino possono superare la durata dei dati nei sistemi di origine. Le esigenze aziendali potrebbero guidare il tracciamento dei dati che l'applicazione di origine non supporta. I dati nel DW supportano le attività commerciali mentre il tuo sistema OLTP supporta se stesso.

SSIS è solo uno strumento per spostare i dati. Ce ne sono molti là fuori, alcuni migliori, altri peggio.

Quindi No, in generale, non è meglio evitare di creare un DW e costruire i tuoi cubi basati sul tuo database OLTP.