sql >> Databáze >  >> RDS >> Sqlserver

Proč potřebujeme SSIS a hvězdicové schéma Data Warehouse?

Toto může být kandidát na „Too Broad“, ale zkusím to.

Proč bych měl chtít uložit svá data třikrát?

Mám svá data ve svém OLTP (online, systém zpracování transakcí), proč bych měl chtít tato data přesunout do zcela nové struktury (datového skladu) a poté je znovu přesunout do systému OLAP?

Začněme jednoduše. Máte pouze jeden systém záznamu a ten není nijak úžasně vytížený. Možná vám projde abstraktní vrstva (zobrazení v databázi nebo pojmenované dotazy v SSAS) a přeskočte datový sklad.

Takže si sestavíte své krychle, rozměry a lidé to začnou používat a milují to.

"Víte, co by bylo skvělé? Kdybychom mohli porovnat naše Blaty s Foos and Bars, které tam už máme" Nyní musíte integrovat svou jednoduchou aplikaci s daty z úplně nesouvisející aplikace. Číslo zákazníka 10 ve vaší aplikaci je číslo zákazníka {ECA67697-1200-49E2-BF00-7A13A549F57D} v aplikaci CRM. Co teď? Budete muset svým uživatelům prezentovat jeden pohled na zákazníka, jinak tento nástroj nepoužijí.

Možná vládnete železnou pěstí a říkáte Ne, tato data nemůžete mít v kostce a vaši uživatelé s nimi jdou.

"Změní se nákupní návyky lidí po narození dítěte?" Na to nemůžeme odpovědět, protože naše aplikace ukládá pouze aktuální verzi zákazníka. Jakmile mají dítě, vždy měli dítě, takže nemůžete jasně identifikovat vzorce před nebo po události.

„Jaké byly naše tržby v loňském roce“ Na to nemůžeme odpovědět, protože v aplikaci uchováváme pouze průběžných 12 týdnů dat, aby byla zvládnutelná.

"Data v kostkách jsou zastaralá, můžete je obnovit?" Egadové, je střed dne. Zpracování SSAS trvá uzamčení tabulky a v podstatě by naši aplikaci přerušilo, dokud nebude zpracování dokončeno.

Mám v těchto scénářích pokračovat?

Shrnutí

Datový sklad slouží jako integrační bod pro různé systémy. Má přizpůsobené rozměry (každý má společnou definici toho, co je věc). Data ve skladu mohou překročit životnost dat ve zdrojových systémech. Obchodní potřeby mohou řídit sledování dat, která zdrojová aplikace nepodporuje. Data v DW podporují obchodní aktivity, zatímco váš systém OLTP podporuje sám sebe.

SSIS je pouze nástroj pro přesun dat. Je jich tam spousta, některé lepší, jiné horší.

Takže Ne, obecně řečeno, není lepší se vytváření DW vyhýbat a stavět své kostky na základě vaší databáze OLTP.




  1. SQL Server seřadí řetězec oddělený čárkami v jednom sloupci

  2. OCIEnvNlsCreate() se nezdařilo. Když se pokusím připojit svou databázi Oracle v php

  3. spočítat počet sloupců, které obsahují data pro každý řádek

  4. Programově načíst zdroj uložené procedury SQL Server, který je identický se zdrojem vráceným uživatelským rozhraním SQL Server Management Studio?