dimensional data model data warehouse tutorial with examples
Овај водич објашњава благодати и митове димензионалног модела података у складишту података. Такође, научите више о табелама димензија и табелама чињеница са примерима:
Тестирање складишта података је објашњено у нашем претходном упутству, у овом Серија обуке складишта података за све .
Огромни подаци су организовани у складишту података (ДВ) помоћу техника димензионалног моделирања података. Ове технике димензионалног моделирања података чине посао крајњих корисника врло једноставним да се распитају о пословним подацима. Овај водич објашњава све о димензионалним моделима података у ДВ.
Циљна група
- Програмери складишта података / ЕТЛ програмери и тестери.
- Стручњаци за базе података са основним знањем о концептима база података.
- Администратори базе података / стручњаци за велике податке који желе да разумеју концепте складишта података / ЕТЛ.
- Дипломирани студенти / студенти који траже посао у складишту података.
Шта ћете научити:
Димензионални модели података
Димензионални модели података су структуре података које су доступне крајњим корисницима у току ЕТЛ-а за испитивање и анализу података. Процес ЕТЛ завршава учитавањем података у циљне димензионалне моделе података. Сваки димензионални модел података изграђен је помоћу табеле чињеница окружене више табела димензија.
Кораци које треба следити током дизајнирања димензионалног модела података:
Предности димензионалног моделирања података
У наставку су наведене разне предности димензионалног моделирања података.
- Осигурани су за коришћење ДВ окружења која се непрекидно мењају.
- Огромни подаци могу се лако изградити уз помоћ димензионалних модела података.
- Подаци из димензионалних модела података лако се разумеју и анализирају.
- Крајњи корисници су им брзо доступни за постављање упита са високим перформансама.
- Димензионални модели података омогућавају нам да анализирамо (или) смотамо податке хијерархијски.
ЕР моделирање вс димензионално моделирање података
- ЕР моделирање је погодно за оперативне системе, док је димензионално моделирање погодно за складиште података.
- ЕР моделирање одржава детаљне тренутне податке о трансакцијама, док димензионално моделирање одржава сажетак тренутних и историјских података о трансакцијама.
- ЕР моделирање је нормализовало податке, док је димензионално моделирање денормализовало податке.
- ЕР моделирање користи више спајања током преузимања упита, док димензионално моделирање користи мањи број спајања, стога су перформансе упита брже у димензионалном моделирању.
Митови о димензионалном моделирању података
Доље су дати неки од постојећих митова о димензионалним моделима података.
- Димензионални модели података користе се само за представљање сажетка података.
- Они су специфични за одељења у организацији.
- Не подржавају скалабилност.
- Дизајнирани су да служе у сврху извештаја и упита крајњих корисника.
- Не можемо интегрисати димензионалне моделе података.
Табеле димензија
Табеле димензија играју кључну улогу у ДВ систему чувањем свих анализираних метричких вредности. Ове вредности су ускладиштене у атрибутима димензија (колонама) који се лако могу изабрати у табели. Квалитет ДВ система највише зависи од дубине атрибута димензија.
Стога бисмо требали покушати да пружимо многе атрибуте заједно са њиховим одговарајућим вредностима у табелама димензија.
Истражимо структуру табела димензија !!
# 1) Кључ табеле димензија: Свака табела димензија имаће било који од својих атрибута димензија као примарни кључ за јединствену идентификацију сваког реда. Отуда различите нумеричке вредности тог атрибута могу деловати као примарни кључеви.
Ако вредности атрибута у сваком случају нису јединствене, тада можете узети у обзир секвенцијално генерисане системске бројеве као примарне кључеве. Они се такође називају и сурогат кључеви.
Димензионални модели података морају имати референтно ограничење интегритета за сваки кључ између димензија и чињеница. Тако ће табеле чињеница имати референцу страног кључа за сваки примарни / сурогат кључ у табели димензија ради одржавања референтног интегритета.
Ако не успе, тада се за тај кључ димензије не могу добити подаци из одговарајуће табеле чињеница.
# 2) Табела је широка: Можемо рећи да су табеле димензија широке јер можемо додати било који број атрибута табели димензија у било којој тачки циклуса ДВ. ДВ архитекта ће затражити од ЕТЛ тима да дода одговарајуће нове атрибуте у шему.
У сценаријима у реалном времену можете видети табеле димензија са 50 (или) више атрибута.
# 3) Текстуални атрибути: Димензионални атрибути могу бити било које врсте као текстуални (или) нумерички. Текстуални атрибути ће имати стварне пословне речи, а не шифре. Табеле димензија нису предвиђене за прорачуне, стога се нумеричке вредности ретко користе за димензионе атрибуте.
# 4) Атрибути можда нису директно повезани: Сви атрибути у табели димензија можда нису повезани једни с другима.
# 5) Није нормализовано: Нормализација табеле димензија доводи више посредничких табела у слику која није ефикасна. Стога табеле димензија нису нормализоване.
Димензионални атрибути могу деловати као извор ограничења у упитима и такође се могу приказати као ознаке у извештајима. Упити ће се ефикасно изводити ако директно одаберете атрибут из табеле димензија и упутите се директно на одговарајућу табелу чињеница без додиривања било којих посредничких табела.
# 6) Бушење и намотавање: Атрибути димензије имају способност да детаљно анализирају (или) намотају податке кад год је то потребно.
# 7) Вишеструке хијерархије: Табела са једном димензијом која има више хијерархија је врло честа. Табела димензија имаће једноставну хијерархију ако постоји само један пут од доњег нивоа до врха. Слично томе, имаће вишеструку хијерархију ако је присутно више путања од доњег нивоа до врха.
# 8) Неколико записа: Табеле димензија имаће мањи број записа (у стотинама) од табела чињеница (у милионима). Иако су мањи од чињеница, они пружају све улазне податке у табеле чињеница.
Ево примера табеле димензија купаца:
Разумевањем горњих концепата можете да одлучите да ли поље података може деловати као атрибут димензије (или) не док издваја податке из самог извора.
Основни план оптерећења за димензију
Димензије могу да се креирају на два начина, тј. Извлачењем података о димензијама из система спољних извора (или) ЕТЛ систем може да изгради димензије из стагинга без укључивања било каквих спољних извора. Међутим, ЕТЛ систем без икакве спољне обраде погоднији је за израду табела димензија.
Следе кораци који су укључени у овај процес:
питања и одговори на интервјуу за осигурање квалитета пдф
- Чишћење података: Подаци се чисте, валидирају и примењују пословна правила пре учитавања у табелу димензија ради одржавања доследности.
- Подаци у складу: Подаци из других делова складишта података требају бити правилно обједињени као једна вредност, у односу на свако поље табеле димензија.
- Поделите исте домене: Када се подаци потврде, поново се чувају у табелама за постављање.
- Достава података: Коначно, све вредности димензионалних атрибута учитавају се са додељеним примарним / сурогат кључевима.
Врсте димензија
Разне врсте димензија су наведене испод за вашу референцу.
Почнимо!!
# 1) Мале димензије
Мале димензије у складишту података делују као табеле за претраживање са мањим бројем редова и колона. Подаци у мале димензије могу се лако учитати из прорачунских табела. По потреби се мале димензије могу комбиновати као супер димензија.
# 2) Прилагођена димензија
Конформна димензија је димензија на коју се може упутити на исти начин са сваком табелом чињеница са којом је повезана.
Датумска димензија је најбољи пример усклађене димензије, јер атрибути датумске димензије као што су година, месец, недеља, дани итд. Преносе исте податке на исти начин у било ком броју чињеница.
Пример усаглашене димензије.
# 3) Смеће димензија
Неколико атрибута у табели чињеница, попут заставица и индикатора, може се преместити у засебну табелу димензија смећа. Ови атрибути такође не припадају ниједној другој постојећој табели димензија. Генерално, вредности ових атрибута су једноставно „да / не“ (или) „тачно / нетачно“.
Стварање нове димензије за сваки појединачни атрибут заставице чини га сложеним стварањем већег броја страних кључева табеле чињеница. Истовремено, чување свих ових заставица и информација о индикаторима у табелама чињеница такође повећава количину података ускладиштених у чињеницама што на тај начин погоршава перформансе.
Стога је најбоље решење за ово стварање једне димензије смећа јер је смеће димензија способна да садржи било који број индикатора „да / не“ или „тачно / нетачно“. Међутим, смеће смећа чувају описне вредности за ове индикаторе (да / не (или) тачно / нетачно) као што су активне и на чекању итд.
На основу сложености табеле чињеница и њених индикатора, табела чињеница може имати једну или више смећа.
Пример смеће без смећа.
# 4) Димензија играња улога
Једна димензија која се може користити у више сврха у табели чињеница позната је као димензија играња улога.
Најбољи пример за димензију играња улога је поново табела димензија Датум јер се исти атрибут датума у димензији може користити у различите сврхе, као што су датум наруџбе, датум испоруке, датум трансакције, датум отказивања, итд.
Ако је потребно, можете створити четири различита приказа на табели димензија датума у односу на четири различита атрибута датума табеле чињеница.
Пример димензије играња улога.
# 5) Изрођене димензије
Може бити мало атрибута који не могу бити ни димензије (метрике) ни чињенице (мере), али су потребни за анализу. Сви такви атрибути могу се преместити у изрођене димензије.
На пример, број поруџбине, број фактуре итд. можете сматрати дегенерисаним атрибутима димензија.
Пример изрођене димензије.
# 6) Полако мења димензије
Димензија која се полако мења је врста у којој се подаци могу мењати полако у било које време уместо у периодичним редовним интервалима. Измењеним подацима у табелама димензија може се руковати на различите начине како је објашњено у наставку.
Можете одабрати тип СЦД-а који ће појединачно одговорити на промену за сваки атрибут у димензионалној табели.
(и) СЦД типа 1
- У типу 1 када дође до промене вредности атрибута димензија, постојеће вредности се преписују са ново модификованим вредностима, што није ништа друго до ажурирање.
- Стари подаци се не чувају за историјску референцу.
- Претходни извештаји се не могу обновити због непостојања старих података.
- Једноставно за одржавање.
- Утицај на табеле чињеница је већи.
Пример СЦД типа 1:
(ИИ) Тип 2 СЦД
- У типу 2, када дође до промене вредности атрибута димензија, убациће се нови ред са измењеним вредностима без промене старих података реда.
- Ако постоји било која референца страног кључа која постоји у старом запису у било којој табели чињеница, тада се стари сурогат кључ аутоматски ажурира свуда новим сурогат кључем.
- Утицај на промене табеле чињеница је веома мали са горњим кораком.
- Стари подаци се нигде не узимају у обзир након промена.
- У типу 2 можемо пратити све промене које се дешавају на димензионим атрибутима.
- Нема ограничења за чување историјских података.
- У типу 2, додавање неколико атрибута у сваки ред, као што су промењени датум, ефективни датум-време, датум и време завршетка, разлог промене и тренутна застава није обавезно. Али ово је значајно ако предузеће жели да зна број промена направљених током одређеног временског периода.
Пример СЦД типа 2:
(ИИИ) Тип 3 СЦД
- У типу 3 када дође до промене вредности атрибута димензија, нове вредности се ажурирају, али старе вредности и даље остају важеће као друга опција.
- Уместо да се дода нови ред за сваку промену, додаће се нова колона ако претходно није постојала.
- Старе вредности се постављају у горе додате атрибуте, а подаци примарног атрибута преписују се промењеном вредношћу као у типу 1.
- Постоји ограничење складиштења историјских података.
- Утицај на табеле чињеница је већи.
Пример СЦД типа 3:
(ив) СЦД типа 4
- У типу 4, тренутни подаци се чувају у једној табели.
- Сви историјски подаци одржавају се у другој табели.
Пример СЦД типа 4:
(в) Тип 6 СЦД
- Димензионална табела такође може имати комбинацију сва три типа СЦД 1, 2 и 3 која је позната као хибрид типа 6 (или) који се полако мења.
Табеле чињеница
Табеле чињеница садрже скуп квантитативно измерених вредности које се користе за прорачуне. Вредности табеле чињеница приказују се у пословним извештајима. За разлику од текстуалног типа података табела димензија, тип података табела чињеница је значајно нумерички.
Табеле чињеница су дубоке, док су табеле димензија широке, јер ће табеле чињеница имати већи број редова и мањи број колона. Примарни кључ дефинисан у табели чињеница је првенствено да идентификује сваки ред одвојено. Примарни кључ се у ствари назива и композитни кључ.
Ако у табели чињеница недостаје композитни кључ и ако било која два записа имају исте податке, врло је тешко разликовати податке и упутити их у табеле димензија.
Дакле, ако одговарајући јединствени кључ постоји као сложени кључ, онда је добро генерисати секвенцијални број за сваки запис табеле чињеница. Друга алтернатива је формирање спојеног примарног кључа. Ово ће се генерисати спајањем свих наведених примарних кључева табела димензија редом.
Табела појединачних чињеница може бити окружена табелама са више димензија. Уз помоћ страних кључева који постоје у табелама чињеница, одговарајући контекст (детаљни подаци) измерених вредности могу се позвати у табелама димензија. Уз помоћ упита, корисници ће ефикасно извршити бушење и намотавање.
Најнижи ниво података који се може сачувати у табели чињеница познат је као грануларност. Број табела димензија повезаних са табелом чињеница обрнуто је пропорционалан грануларности података те табеле чињеница. тј. За најмању мерну вредност потребно је упутити више табела димензија.
У димензионалном моделу, табеле чињеница одржавају везу много према многима са табелама димензија.
Пример табеле чињеница о продаји:
Учитајте план табела са чињеницама
Податке табеле чињеница можете учитати ефикасно узимајући у обзир следеће смернице:
# 1) Испустите и вратите индексе
Индекси у табелама у ствари представљају добар појачивач перформанси током испитивања података, али руше перформансе док учитавају податке. Стога, пре учитавања било каквих огромних података у табеле чињеница, првенствено испустите све индексе у тој табели, учитајте податке и вратите их.
# 2) Одвојите уметке од ажурирања
Не спајајте уметање и ажурирање записа док се учитавате у табелу чињеница. Ако је број исправки мањи, обрадите уметке и ажурирања одвојено. Ако је број исправки већи, препоручљиво је скратити и поново учитати табелу чињеница за брзе резултате.
# 3) Партиционирање
Физички поделите на табелу чињеница на мини табеле ради бољих перформанси упита на обједињеним подацима табеле чињеница. Осим ДБА и ЕТЛ тима, нико неће бити свестан поделе чињеница.
Као пример , можете партиционирати табелу месечно, квартално, годишње, итд. Приликом упита узимају се у обзир само партиционирани подаци уместо скенирања целе табеле.
# 4) Паралелно учитавање
мискл вс орацле вс скл сервер
Сад имамо идеју о партицијама на таблицама чињеница. Подела на чињенице је такође корисна док се у њих учитавају огромни подаци. Да бисте то урадили, прво логички разбијте податке у различите датотеке података и покрените ЕТЛ послове да бисте паралелно учитали све ове логичке делове података.
# 5) Услужни програм за скупно оптерећење
За разлику од других РДБМС система, ЕТЛ систем не мора да одржава евиденције враћања изричито за грешке у средњој трансакцији. Овде се „велика оптерећења“ дешавају у чињеницама уместо у „СКЛ уметцима“ ради учитавања огромних података. Ако у случају да једно учитавање закаже, онда се целокупни подаци могу лако поново учитати (или), а могу се наставити тамо где су заустављени са великим оптерећењем.
# 6) Брисање података о чињеницама
Брисање записа табеле чињеница догађа се само ако предузеће то изричито жели. Ако постоје подаци из табеле чињеница који више не постоје у изворним системима, онда се ти подаци могу физички (или) логички избрисати.
- Физичко брисање: Нежељени записи се трајно уклањају из табеле чињеница.
- Логично брисање: Табела чињеница додаће се нови ступац као што је „избрисано“ типа Бит (или) Боолеан. Ово делује као застава која представља избрисане записе. Морате осигурати да не бирате избрисане записе док испитујете податке табеле чињеница.
# 7) Редослед ажурирања и брисање из табеле чињеница
Када треба ажурирати било какве податке, табеле димензија треба прво ажурирати, а затим ажурирати сурогат кључеве у табели претраживања, ако је потребно, а након тога одговарајућу табелу чињеница ажурирати. Брисање се догађа обрнуто, јер брисање свих нежељених података из табела чињеница олакшава брисање повезаних нежељених података из табела димензија.
Требали бисмо следити горњи редослед у оба случаја, јер табеле димензија и табеле чињеница све време одржавају референтни интегритет.
Врсте чињеница
На основу понашања података табела чињеница они су категоризовани као табеле чињеница трансакција, табеле чињеница снапсхот-а и акумулиране табеле чињеница снапсхот-а. Све ове три врсте прате различите карактеристике са различитим стратегијама учитавања података.
# 1) Табеле чињеница о трансакцијама
Као што назив указује, табеле чињеница о трансакцијама чувају податке на нивоу трансакције за сваки догађај који се догоди. Такву врсту података је лако анализирати на самом нивоу табеле чињеница. Али за даљу анализу можете се позвати и на повезане димензије.
На пример, сваку продају (или) куповину која се догоди са маркетиншке веб локације треба учитати у табелу чињеница о трансакцијама.
Пример табеле трансакционих чињеница приказан је у наставку.
# 2) Табеле периодичних снимака чињеница
Као што назив указује, подаци у периодичној табели са сликама се чувају у облику снимака (слика) у периодичним интервалима, на пример за сваки дан, недељу, месец, квартал итд., У зависности од пословних потреба.
Дакле, јасно је да је ово све време агрегација података. Стога су чињенице снимка сложеније у поређењу са табелама чињеница трансакција. На пример, сви подаци о извештајима о приходима од перформанси могу се сачувати у табелама са тренутним снимцима ради лакшег сналажења.
Пример табеле периодичног снимка чињеница приказан је испод.
# 3) Акумулирање табела са чињеницама тренутног прегледа
Табеле чињеница са акумулираним снимком омогућавају вам да податке складиштите у табелама за цео животни век производа. Ово делује као комбинација горе наведена два типа, где подаци могу да се убаце у било ком тренутку у било ком тренутку као снимак.
У овом типу, додатне колоне датума и подаци за сваки ред се ажурирају са сваком прекретницом тог производа.
Пример табеле са акумулативним тренутним снимком.
Поред горе наведена три типа, ево још неколико врста табела чињеница:
# 4) Табеле чињеница: Чињеница је скуп мера, док чињеница мање обухвата само догађаје (или) услове који не садрже никакве мере. Табела чињеница без чињеница се углавном користи за праћење система. Подаци у овим табелама могу се анализирати и користити за извештавање.
На пример, можете потражити детаље о запосленом који је узео одсуство и врсту одсуства за годину дана итд. Укључујући све ове нејасне детаље чињеница у табелу, табела ће сигурно повећати величину чињеница.
Пример табеле чињеница о чињеницама приказан је у наставку.
# 5) Табеле са усклађеним чињеницама: Усаглашена чињеница је чињеница на коју се може позивати на исти начин са сваким подацима за који је повезан.
Спецификације табеле чињеница
Доље су дате спецификације табеле чињеница.
- Назив чињенице: Ово је низ који укратко описује функционалност табеле чињеница.
- Пословних процеса: Табела чињеница треба да испуни разговоре о послу.
- Питања: Помиње списак пословних питања на која ће табела чињеница дати одговоре.
- Зрно: Означава најнижи ниво детаља повезан са подацима из табеле чињеница.
- Димензије: Наведите све табеле димензија повезане са том табелом чињеница.
- Мере: Израчунате вредности похрањене у табели чињеница.
- Фреквенција оптерећења Представља временске интервале за учитавање података у табелу чињеница.
- Почетни редови: Позовите се на почетне податке први пут попуњене у табели чињеница.
Пример димензионалног моделирања података
Можете добити идеју о томе како табеле димензија и табеле чињеница могу бити дизајниране за систем тако што ћете погледати доњи дијаграм димензионалног моделирања података за продају и наруџбе.
Закључак
До сада сте требали стећи изврсно знање о техникама димензионалног моделирања података, њиховим предностима, митовима, табелама димензија, табелама чињеница, заједно са њиховим врстама и процесима.
Погледајте наш предстојећи водич да бисте сазнали више о шемама складишта података !!
=> Посетите овде да бисте чули складиштење података из почетка.
Препоручено читање
- Водич за тестирање складишта података са примерима | ЕТЛ Водич за тестирање
- Примери рударства података: Најчешћа примена рударства података 2021
- Водич за Питхон ДатеТиме са примерима
- Основе складиштења података: Крајњи водич са примерима
- Водич за испитивање запремине: примери и алати за испитивање запремине
- 10 најпопуларнијих алата за складиштење података и технологија за тестирање
- Рударство података: процес, технике и главни проблеми у анализи података
- Како извршити тестирање на основу података у програму СоапУИ Про - Водич за соапУИ бр. 14