sql >> Databasteknik >  >> RDS >> Sqlserver

Varför behöver vi SSIS och stjärnschema för Data Warehouse?

Det här kan vara en kandidat för "Too Broad", men jag ska prova det.

Varför skulle jag vilja lagra mina data tre gånger?

Jag har mina data i min OLTP (online, transaktionsbearbetningssystem), varför skulle jag vilja flytta dessa data till en helt ny struktur (datalager) och sedan flytta den igen till ett OLAP-system?

Låt oss börja enkelt. Du har bara ett register och det är inte otroligt upptaget. Kanske kan du komma undan med ett abstraktionslager (vyer i databasen eller namngivna frågor i SSAS) och hoppa över datalagret.

Så, du bygger ut dina kuber, dimensioner och folk börjar använda det och de älskar det.

"Vet du vad som skulle vara bra? Om vi ​​kunde koppla våra Blats till de Foos och Bars vi redan har där inne" Nu måste du integrera din enkla app med data från en helt orelaterade app. Kund-id 10 i din app är kund-id {ECA67697-1200-49E2-BF00-7A13A549F57D} i CRM-appen. Nu då? Du kommer att behöva presentera en enda vy av kunden för dina användare, annars kommer de inte att använda verktyget.

Du kanske styr med järnhand och säger Nej, du kan inte ha den datan i kuben och dina användare går med på det.

"Ändras folks köpvanor efter att de fått barn?" Vi kan inte svara på det eftersom vår applikation bara lagrar den aktuella versionen av en kund. När de väl har fått ett barn har de alltid haft ett barn så du kan inte helt enkelt identifiera mönster före eller efter en händelse.

"Hur var vår försäljning förra året" Vi kan inte svara på det eftersom vi bara sparar rullande 12 veckors data i appen för att göra den hanterbar.

"Datan i kuberna är inaktuell, kan du uppdatera den?" Egads, det är mitt på dagen. SSAS-bearbetningen kräver tabelllås och skulle i princip ta ner vår app tills den är klar.

Behöver jag fortsätta med dessa scenarier?

Sammanfattning

Datalagret fungerar som en integrationspunkt för olika system. Den har anpassade dimensioner (allas har en gemensam definition av vad en sak är). Data i lagret kan överskrida livslängden för data i källsystemen. Företagens behov kan driva spårningen av data som källapplikationen inte stöder. Datan i DW stöder affärsaktiviteter medan ditt OLTP-system stöder sig själv.

SSIS är bara ett verktyg för att flytta data. Det finns massor där ute, vissa bättre, andra sämre.

Så nej, generellt sett är det inte bättre att undvika att skapa en DW och bygga dina kuber baserat på din OLTP-databas.




  1. Hur hämtar man unika rader baserat på kolumnvärdekombinationer?

  2. MySQL multipel infogning prestanda

  3. Kan SQLExpress 2005 och 2008 installeras på samma maskin utan problem?

  4. Logga DBMS_OUTPUT.Put_Line-utgång i tabell i Oracle med DBMS_OUTPUT.Get_Lines