Това може да е кандидат за „Твърде широко“, но ще го пробвам.
Защо искам да съхранявам данните си 3 пъти?
Имам данните си в моя OLTP (онлайн система за обработка на транзакции), защо бих искал да преместя тези данни в напълно нова структура (склад за данни) и след това да ги преместя отново в OLAP система?
Да започнем просто. Имате само една система за запис и тя не е удивително заета. Може би можете да се измъкнете с абстракционен слой (изгледи в базата данни или именувани заявки в SSAS) и да пропуснете хранилището на данни.
И така, изграждате вашите кубове, размери и хората започват да го използват и го харесват.
„Знаете ли какво би било чудесно? Ако можем да свържем нашите Blats с Foos и Bars, които вече имаме там“ Сега трябва да интегрирате вашето просто приложение с данни от напълно несвързано приложение. Идентификационен номер на клиент 10 във вашето приложение е идентификационен номер на клиент {ECA67697-1200-49E2-BF00-7A13A549F57D} в приложението CRM. Сега какво? Ще трябва да представите един единствен изглед на клиента на вашите потребители или те няма да използват инструмента.
Може би управлявате с железен юмрук и казвате Не, не можете да имате тези данни в куба и вашите потребители се съгласяват с това.
„Променят ли се пазарните навици на хората след раждането на дете?“ Не можем да отговорим на това, защото нашето приложение съхранява само текущата версия на клиент. След като имат дете, те винаги са имали дете, така че не можете ясно да идентифицирате моделите преди или след дадено събитие.
„Какви бяха продажбите ни миналата година?“ Не можем да отговорим на този въпрос, защото поддържаме само 12 седмици данни в приложението, за да го направим управляем.
„Данните в кубовете са остарели, можете ли да ги опресните?“ Егадс, средата на деня е. Обработката на SSAS изисква заключвания на таблици и по същество би свалила приложението ни, докато не приключи обработката.
Трябва ли да продължа с тези сценарии?
Резюме
Хранилището на данни служи като точка за интегриране на различни системи. Има съобразени измерения (всеки има обща дефиниция за това какво е нещо). Данните в хранилището може да надхвърлят живота на данните в изходните системи. Бизнес нуждите може да стимулират проследяването на данни, които приложението източник не поддържа. Данните в DW поддържат бизнес дейности, докато вашата OLTP система поддържа сама себе си.
SSIS е просто инструмент за преместване на данни. Има много, някои по-добри, други по-лоши.
Така че не, най-общо казано, не е по-добре да избягвате създаването на DW и да изграждате вашите кубове въз основа на вашата OLTP база данни.