{"id":92015,"date":"2020-08-21T19:42:13","date_gmt":"2020-08-21T17:42:13","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/obzor-gibkih-metodologij-proektirovaniya-dwh"},"modified":"2020-08-21T19:42:13","modified_gmt":"2020-08-21T17:42:13","slug":"obzor-gibkih-metodologij-proektirovaniya-dwh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/obzor-gibkih-metodologij-proektirovaniya-dwh","title":{"rendered":"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Zhvillimi i nj\u00eb depoje \u00ebsht\u00eb nj\u00eb proces i gjat\u00eb dhe serioz. <\/p>\n<p>Shum\u00eb n\u00eb jet\u00ebn e projektit varet nga sa mir\u00eb \u00ebsht\u00eb menduar modeli objektor dhe struktura e baz\u00ebs q\u00eb nga fillimi.<\/p>\n<p>Qasja e pranuar gjer\u00ebsisht \u00ebsht\u00eb nj\u00eb kombinim i ndrysh\u00ebm i skem\u00ebs 'yll' me form\u00ebn e tret\u00eb normale. Rregulli \u00ebsht\u00eb: t\u00eb dh\u00ebnat origjinale \u2014 3NF, vitrinat \u2014 yll. Kjo qasje, e provuar me kalimin e koh\u00ebs dhe e mb\u00ebshtetur nga shum\u00eb studime, \u00ebsht\u00eb e para (dhe ndonj\u00ebher\u00eb e vetmja) q\u00eb i vjen n\u00eb mendje nj\u00eb eksperti t\u00eb DWH-s\u00eb kur mendon se si duhet t\u00eb duket nj\u00eb depo analitike.<\/p>\n<p>Nga ana tjet\u00ebr, biznesi n\u00eb t\u00ebr\u00ebsi dhe k\u00ebrkesat e klientit n\u00eb ve\u00e7anti kan\u00eb prirjen t\u00eb ndryshojn\u00eb shpejt, dhe t\u00eb dh\u00ebnat t\u00eb rriten si \u2018n\u00eb thell\u00ebsi\u2019, ashtu edhe \u2018n\u00eb gjer\u00ebsi\u2019. Dhe k\u00ebtu shfaqet mang\u00ebsia kryesore e yllit \u2014 e kufizuar. <b>fleksibiliteti<\/b>.<\/p>\n<p>Dhe n\u00ebse n\u00eb jet\u00ebn tuaj t\u00eb qet\u00eb dhe komode si zhvillues i DWH-s\u00eb papritmas:<\/p>\n<ul>\n<li>u shfaq nj\u00eb detyr\u00eb \u2018t\u00eb b\u00ebsh di\u00e7ka shpejt, e m\u00eb pas do t\u00eb shohim\u2019;<\/li>\n<li>u paraqit nj\u00eb projekt n\u00eb zhvillim t\u00eb shpejt\u00eb, me lidhjen e burimeve t\u00eb reja dhe riformulimin e modelit t\u00eb biznesit t\u00eb pakt\u00ebn nj\u00eb her\u00eb n\u00eb jav\u00eb;<\/li>\n<li>u shfaq nj\u00eb klient q\u00eb nuk e di si duhet t\u00eb duket sistemi dhe cilat funksione duhet t\u00eb realizoj\u00eb, por \u00ebsht\u00eb i gatsh\u00ebm p\u00ebr eksperimente dhe p\u00ebr t\u00eb sakt\u00ebsuar gradualisht rezultatin e d\u00ebshiruar me nj\u00eb qasje t\u00eb ngjashme;<\/li>\n<li>menaxheri i projektit erdhi me nj\u00eb lajm t\u00eb lumtur: \u201cTani kemi agjil!\u201d<\/li>\n<\/ul>\n<p>\nOse n\u00ebse thjesht jeni t\u00eb interesuar t\u00eb dini si ndryshe mund t\u00eb nd\u00ebrtohen depot \u2014 mir\u00eb se erdh\u00ebt posht\u00eb!<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/59cd70ca3af4841d0c5c9bfbbd7636a3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>\u00c7far\u00eb do t\u00eb thot\u00eb \u00abfleksibilitet\u00bb<\/h3>\n<p>\nSi fillim, le t\u00eb p\u00ebrcaktojm\u00eb se cilat duhet t\u00eb jen\u00eb vetit\u00eb q\u00eb sistemi duhet t\u00eb ket\u00eb p\u00ebr ta quajtur \u201cfleksib\u00ebl\u201d. <\/p>\n<p>Ve\u00e7mas duhet t\u00eb sakt\u00ebsohet se vetit\u00eb e p\u00ebrshkruara duhet t\u00eb lidhen sakt\u00ebsisht me <b>sistemin<\/b>, dhe jo me <b>procesin <\/b>e zhvillimit t\u00eb tij. Prandaj, n\u00ebse kishit d\u00ebshir\u00eb t\u00eb lexoni p\u00ebr Agile si nj\u00eb metodologji zhvillimi, \u00ebsht\u00eb m\u00eb mir\u00eb t\u00eb njihni materiale t\u00eb tjera. P\u00ebr shembull, k\u00ebtu n\u00eb Habr\u00eb ka shum\u00eb materiale interesante (si <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/436178\/\">publikimet<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/284012\/\">praktike<\/a><\/noindex>, ashtu edhe <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dataart\/blog\/245605\/\">problematike<\/a><\/noindex>).<\/p>\n<p>Kjo nuk do t\u00eb thot\u00eb q\u00eb procesi i zhvillimit dhe struktura e depozit\u00ebs s\u00eb t\u00eb dh\u00ebnave nuk jan\u00eb aspak t\u00eb lidhura. N\u00eb p\u00ebrgjith\u00ebsi, zhvillimi i nj\u00eb depozite me arkitektur\u00eb fleksibile duhet t\u00eb jet\u00eb duksh\u00ebm m\u00eb i leht\u00eb duke ndjekur metodologjin\u00eb Agile. Megjithat\u00eb, n\u00eb praktik\u00eb, jan\u00eb m\u00eb t\u00eb zakonshme variantet q\u00eb ndjekin metodologjin\u00eb Agile p\u00ebr nj\u00eb depozit\u00eb t\u00eb dh\u00ebnash klasike sipas Kimball dhe Data Vault - n\u00eb m\u00ebnyr\u00eb tradicionale, sesa p\u00ebrputhjet e lumtura t\u00eb fleksibilitetit n\u00eb dy format e tij n\u00eb nj\u00eb projekt t\u00eb vet\u00ebm.<\/p>\n<p>Pra, cilat jan\u00eb mund\u00ebsit\u00eb q\u00eb duhet t\u00eb ket\u00eb nj\u00eb depozit\u00eb fleksibile?<\/p>\n<ol>\n<li><b>D\u00ebrgesa e hershme dhe ripunimi i shpejt\u00eb<\/b> \u2014 do t\u00eb thot\u00eb se n\u00eb m\u00ebnyr\u00eb ideale, rezultati i par\u00eb biznesor (p\u00ebr shembull, raportet e para funksionale) duhet t\u00eb arrihet sa m\u00eb shpejt, pra, para se sistemi t\u00eb projektohet dhe implementohet plot\u00ebsisht. N\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb, \u00e7do ripunim tjet\u00ebr gjithashtu duhet t\u00eb marr\u00eb sa m\u00eb pak koh\u00eb t\u00eb jet\u00eb e mundur.<\/li>\n<li><b>Ripunimi iterativ<\/b> \u2014 kjo do t\u00eb thot\u00eb se \u00e7do p\u00ebrmir\u00ebsim i ardhsh\u00ebm idealisht nuk duhet t\u00eb preki funksionalitetin ekzistues. Ky moment shpesh b\u00ebhet pesha m\u00eb e madhe n\u00eb projektet e m\u00ebdha \u2014 atje, ndonj\u00ebher\u00eb objektet fillojn\u00eb t\u00eb mbushen me kaq shum\u00eb lidhje, sa b\u00ebhet m\u00eb e leht\u00eb t\u00eb p\u00ebrs\u00ebritni t\u00ebr\u00eb logjik\u00ebn n\u00eb nj\u00eb kopje pran\u00eb, sesa t\u00eb shtoni nj\u00eb fush\u00eb n\u00eb tabel\u00ebn ekzistuese. Dhe n\u00ebse ju befason fakti q\u00eb analiza e ndikimit t\u00eb p\u00ebrmir\u00ebsimit n\u00eb objektet ekzistuese mund t\u00eb marr\u00eb m\u00eb shum\u00eb koh\u00eb se vet\u00eb p\u00ebrmir\u00ebsimi \u2014 me siguri nuk keni punuar ende me HD t\u00eb m\u00ebdha n\u00eb banking ose telekomunikacion.<\/li>\n<li><b>Adaptimi i vazhduesh\u00ebm ndaj k\u00ebrkesave q\u00eb ndryshojn\u00eb t\u00eb biznesit<\/b> \u2014 struktura e p\u00ebrgjithshme e objekteve duhet t\u00eb projektohet jo vet\u00ebm me mendimin p\u00ebr zgjerimin e mundsh\u00ebm, por me llogaritjen se drejtimi i k\u00ebtij zgjerimi t\u00eb ardhsh\u00ebm nuk mund t\u00eb ishte as n\u00eb \u00ebndrrat tuaja n\u00eb faz\u00ebn e projektimit.<\/li>\n<\/ol>\n<p>\nDhe po, p\u00ebrputhja me t\u00eb gjitha k\u00ebto k\u00ebrkesa n\u00eb nj\u00eb sistem \u00ebsht\u00eb e mundur (natyrisht, n\u00eb raste t\u00eb caktuara dhe me disa p\u00ebrjashtime).<\/p>\n<p>M\u00eb posht\u00eb do t\u00eb shqyrtoj dy metodologjit\u00eb m\u00eb t\u00eb njohura p\u00ebr dizajnin e fleksib\u00ebl n\u00eb HD \u2014 <b>Modeli Anchor<\/b> dhe <b>Data Vault<\/b>. N\u00eb prapavij\u00eb mbeten teknika t\u00eb tilla t\u00eb shk\u00eblqyera si EAV, 6NF (n\u00eb form\u00ebn e saj t\u00eb past\u00ebr) dhe gjith\u00e7ka q\u00eb ka t\u00eb b\u00ebj\u00eb me zgjidhjet NoSQL - jo sepse jan\u00eb ndonj\u00ebher\u00eb m\u00eb ndryshe, as sepse n\u00eb k\u00ebt\u00eb rast artikulli do t\u00eb kishte fituar volum t\u00eb zakonsh\u00ebm p\u00ebr nj\u00eb disertacion. Thjesht, t\u00eb gjitha k\u00ebto i p\u00ebrkasin zgjidhjeve t\u00eb nj\u00eb klase ndryshe - ose teknikave q\u00eb mund t'i aplikoni n\u00eb raste specifike, pavar\u00ebsisht nga arkitektura e p\u00ebrgjithshme e projektit tuaj (si EAV), ose paradigmat tjet\u00ebr n\u00eb ruajtjen e informacionit (si\u00e7 jan\u00eb bazat e t\u00eb dh\u00ebnave grafike dhe opsionet e tjera NoSQL).<\/p>\n<h3>Problematika e qasjes \u201cklasike\u201d dhe zgjidhjet e saj n\u00eb metodologjit\u00eb fleksib\u00ebl<\/h3>\n<p>\n<i>N\u00ebn qasjen \u201cklasike\u201d kuptoj yllin e vjet\u00ebr t\u00eb mir\u00eb (pavar\u00ebsisht nga realizimi konkret i niveleve t\u00eb poshtme, le t\u00eb m\u00eb falin ndjek\u00ebsit e Kimball, Inmon dhe CDM).<br \/>\n<\/i><\/p>\n<h4>1. Kardinaliteti i ngurt\u00eb i lidhjeve<\/h4>\n<p>\nN\u00eb themel t\u00eb k\u00ebtij modeli \u00ebsht\u00eb nj\u00eb ndarje e qart\u00eb e t\u00eb dh\u00ebnave n\u00eb <b>dimensione (Dimension)<\/b> dhe <b>fakte (Fact)<\/b>. Dhe kjo, t\u00eb lutem, ka kuptim \u2014 sepse analiza e t\u00eb dh\u00ebnave n\u00eb shumic\u00ebn e rasteve \u00ebsht\u00eb n\u00eb thelb analiza e treguesve numerik\u00eb t\u00eb caktuar (fakteve) n\u00eb dimensione t\u00eb caktuara.<\/p>\n<p>N\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, lidhjet midis objekteve krijohen n\u00eb form\u00ebn e lidhjeve midis tabelave p\u00ebrmes \u00e7el\u00ebsit t\u00eb jasht\u00ebm. Kjo duket krejt natyrale, por menj\u00ebher\u00eb \u00e7on n\u00eb kufizimin e par\u00eb t\u00eb fleksibilitetit \u2014 <b>definimi rigoroz i kardinalitetit t\u00eb lidhjeve<\/b>.<\/p>\n<p>Kjo do t\u00eb thot\u00eb q\u00eb n\u00eb faz\u00ebn e projektimit t\u00eb tabelave duhet t\u00eb p\u00ebrcaktoni sakt\u00ebsisht p\u00ebr \u00e7do \u00e7ift objektesh t\u00eb lidhura n\u00ebse ato mund t\u00eb jen\u00eb shum\u00eb-ndaj-shum\u00eb, apo vet\u00ebm 1-ndaj-shum\u00eb, dhe \"n\u00eb \u00e7far\u00eb drejtimi\". Kjo ka nj\u00eb ndikim t\u00eb drejtp\u00ebrdrejt\u00eb n\u00eb cil\u00ebn nga tabelat do t\u00eb jet\u00eb \u00e7el\u00ebsi primar dhe n\u00eb cil\u00ebn do t\u00eb jet\u00eb \u00e7el\u00ebsi i jasht\u00ebm. Ndryshimi i k\u00ebtij marr\u00ebdh\u00ebnieje me k\u00ebrkesat e reja me probabilitet t\u00eb madh do t\u00eb sjell\u00eb nj\u00eb riprodhim t\u00eb baz\u00ebs.<\/p>\n<p>P\u00ebr shembull, n\u00eb projektimin e objektit \u201cfatur\u00eb kasaforte\u201d ju, duke u mb\u00ebshtetur n\u00eb premtimet e forta t\u00eb departamentit t\u00eb shitjeve, keni parashikuar mund\u00ebsin\u00eb e veprimit <b>t\u00eb nj\u00eb promovimi n\u00eb disa pozita faturale<\/b> (por jo e kund\u00ebrta):<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/15226cb79c30364d94147383ba36a8fd.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDhe pas nj\u00eb kohe t\u00eb caktuar, koleg\u00ebt lan\u00eb n\u00eb fuqi nj\u00eb strategji t\u00eb re marketingu, sipas s\u00eb cil\u00ebs n\u00eb nj\u00eb pozicion t\u00eb nj\u00ebjt\u00eb mund t\u00eb veprojn\u00eb <b>m\u00eb shum\u00eb promovime nj\u00ebkoh\u00ebsisht<\/b>. Dhe tani duhet t\u00eb p\u00ebrmir\u00ebsoni tabelat, duke e ndar\u00eb lidhjen n\u00eb nj\u00eb objekt t\u00eb ve\u00e7ant\u00eb. <\/p>\n<p>(T\u00eb gjitha objektet derivat, n\u00eb t\u00eb cilat ndodhi lidhja e promovimeve, tani k\u00ebrkojn\u00eb gjithashtu p\u00ebrmir\u00ebsim).<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/3c4d84a31088660257d74c4c703071e0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>Lidhjet n\u00eb Data Vault dhe Anchor Model<\/b><\/p>\n<p>Ishte mjaft e thjesht\u00eb t\u00eb shmangim nj\u00eb situat\u00eb t\u00eb till\u00eb: nuk duhet t\u00eb besoni departamentin e shitjeve, p\u00ebr k\u00ebt\u00eb \u00ebsht\u00eb e mjaftueshme <b>t\u00eb ruani t\u00eb gjitha lidhjet q\u00eb n\u00eb fillim n\u00eb tabela t\u00eb ndara<\/b> dhe t'i procesoni si shum\u00eb-me-shum\u00eb. <\/p>\n<p>Ky qasje u propozua <b>nga Dan Linstedt<\/b> si pjes\u00eb e paradigm\u00ebs <b>Data Vault<\/b> dhe u mb\u00ebshtet plot\u00ebsisht <b>nga Lars R\u00f6nnb\u00e4ck<\/b> n\u00eb <b>Modeli Ankor (Anchor Model)<\/b>.<\/p>\n<p>Si rezultat, ne kemi karakteristik\u00ebn e par\u00eb dalluese t\u00eb metodologjive fleksibile:<\/p>\n<blockquote><p>Lidhjet midis objekteve nuk ruhen n\u00eb atributet e entiteteve prind, por p\u00ebrfaq\u00ebsojn\u00eb nj\u00eb lloj t\u00eb ve\u00e7ant\u00eb objekti.<\/p><\/blockquote>\n<p>N\u00eb <b>Data Vault<\/b> k\u00ebto tabela lidh\u00ebse quhen <b>Link<\/b>, nd\u00ebrsa n\u00eb <b>Modeli Ankor<\/b> \u2014 <b>Tie<\/b>. N\u00eb pamje t\u00eb par\u00eb ato duken shum\u00eb t\u00eb ngjashme, megjith\u00ebse dallimet e tyre nuk p\u00ebrfundojn\u00eb vet\u00ebm me emrin (p\u00ebr k\u00ebt\u00eb do t\u00eb flasim m\u00eb posht\u00eb). N\u00eb t\u00eb dyja arkitekturave, tabelat lidh\u00ebse mund t\u00eb lidhin <b>\u00e7do num\u00ebr entitetesh<\/b> (nuk \u00ebsht\u00eb e domosdoshme t\u00eb jen\u00eb vet\u00ebm 2).<\/p>\n<p>Kjo duket si teprim n\u00eb pamje t\u00eb par\u00eb, por ofron nj\u00eb fleksibilitet t\u00eb konsideruesh\u00ebm kur b\u00ebhet fjal\u00eb p\u00ebr p\u00ebrmir\u00ebsime. Kjo struktur\u00eb b\u00ebhet tolerante jo vet\u00ebm ndaj ndryshimeve t\u00eb kardinalitetit t\u00eb lidhjeve ekzistuese, por edhe ndaj shtimit t\u00eb t\u00eb rinjve \u2013 n\u00ebse tani nj\u00eb pozite fature i shtohet gjithashtu nj\u00eb lidhje me kasierin q\u00eb e ka regjistruar, krijimi i nj\u00eb lidhjeje t\u00eb till\u00eb do t\u00eb b\u00ebhet thjesht nj\u00eb shtes\u00eb mbi tabelat ekzistuese, pa ndikuar n\u00eb ndonj\u00eb objekt ose proces ekzistues.<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/6a3b942a6e5d04dcbe2ff0881ebdf1bf.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h4>2. Dupnikimi i t\u00eb dh\u00ebnave<\/h4>\n<p>\nProblemi i dyt\u00eb q\u00eb zgjidhet nga arkitekturave fleksibile \u00ebsht\u00eb m\u00eb pak i duksh\u00ebm dhe \u00ebsht\u00eb ve\u00e7an\u00ebrisht <b>i lidhur me matjet e tipit SCD2<\/b> (matje q\u00eb ndryshojn\u00eb ngadal\u00eb t\u00eb tipit t\u00eb dyt\u00eb), megjithat\u00eb, nuk \u00ebsht\u00eb vet\u00ebm p\u00ebr to.<\/p>\n<p>N\u00eb nj\u00eb magazin\u00eb klasike, nj\u00eb mas\u00eb zakonisht p\u00ebrfaq\u00ebson nj\u00eb tabel\u00eb q\u00eb p\u00ebrmban nj\u00eb \u00e7el\u00ebs surrogat (si PK) si dhe nj\u00eb grup \u00e7el\u00ebsash biznesi dhe atributesh n\u00eb kolona t\u00eb ndara. <\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/059dd47b2302b58c19a0144061b78cb4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00ebse matja mb\u00ebshtet versionimin, nj\u00eb grup standard i fushave shtohet me kufij t\u00eb koh\u00ebs s\u00eb vlefshm\u00ebris\u00eb s\u00eb versionit, dhe n\u00eb nj\u00eb rresht n\u00eb burim shfaqen disa versione n\u00eb magazin\u00eb (nj\u00eb p\u00ebr \u00e7do ndryshim t\u00eb atributeve t\u00eb versionit).<\/p>\n<p>N\u00ebse matja p\u00ebrmban t\u00eb pakt\u00ebn nj\u00eb atribut versioni q\u00eb ndryshohet shpesh, numri i versioneve t\u00eb till\u00eb t\u00eb matjes do t\u00eb jet\u00eb mbres\u00ebl\u00ebn\u00ebs (edhe n\u00ebse atributet e tjera nuk jan\u00eb versionuese, ose kurr\u00eb nuk ndryshojn\u00eb), dhe n\u00ebse ka disa t\u00eb till\u00eb \u2014 numri i versioneve mund t\u00eb rritet n\u00eb m\u00ebnyr\u00eb geometrike nga numri i tyre. Nj\u00eb matje e till\u00eb mund t\u00eb z\u00ebr\u00eb nj\u00eb hap\u00ebsir\u00eb t\u00eb konsiderueshme n\u00eb disk, ndon\u00ebse pjesa m\u00eb e madhe e t\u00eb dh\u00ebnave t\u00eb ruajtura n\u00eb t\u00eb jan\u00eb thjesht kopje t\u00eb vlerave t\u00eb atributeve t\u00eb pandryshueshme nga rreshta t\u00eb tjer\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/f3d5a4fd83a5ef36355961302173791d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb k\u00ebt\u00eb rast, shpesh p\u00ebrdoret gjithashtu <b>denormalizimi<\/b> \u2014 disa atribute q\u00ebllimisht ruhet si vler\u00eb, e jo si lidhje me nj\u00eb referenc\u00eb ose nj\u00eb matje tjet\u00ebr. Ky qasje p\u00ebrshpejton qasjen n\u00eb t\u00eb dh\u00ebna, duke reduktuar numrin e bashkimeve kur aksesohen matjet.<\/p>\n<p>Si rregull, kjo \u00e7on n\u00eb at\u00eb q\u00eb <b>informacioni i nj\u00ebjt\u00eb ruhet nj\u00ebkoh\u00ebsisht n\u00eb vendet e ndryshme<\/b>. P\u00ebr shembull, informacioni mbi rajonin e banimit dhe p\u00ebrkat\u00ebsin\u00eb e kategoris\u00eb s\u00eb klientit mund t\u00eb ruhet nj\u00ebkoh\u00ebsisht n\u00eb dimensionet \u201cKlienti\u201d, dhe faktet \u201cBlerja\u201d, \u201cD\u00ebrgimi\u201d dhe \u201cKontaktet me qendr\u00ebn e thirrjeve\u201d, si dhe n\u00eb tabel\u00ebn lidh\u00ebse \u201cKlienti \u2014 Menaxheri i klientit\u201d.<\/p>\n<p>N\u00eb p\u00ebrgjith\u00ebsi, e p\u00ebrshkruar m\u00eb sip\u00ebr i p\u00ebrket gjithashtu dimensioneve t\u00eb zakonshme (jo versionuese), por n\u00eb versionet mund t\u00eb ket\u00eb nj\u00eb shkall\u00eb t\u00eb ndryshme: shfaqja e nj\u00eb versioni t\u00eb ri t\u00eb objektit (sidomos retrospektivisht), \u00e7on jo vet\u00ebm n\u00eb p\u00ebrdit\u00ebsimin e t\u00eb gjith\u00eb tabelave t\u00eb lidhura, por n\u00eb shfaqjen kaskad\u00eb t\u00eb versioneve t\u00eb reja t\u00eb objekteve t\u00eb lidhura \u2014 kur Tabela 1 p\u00ebrdoret p\u00ebr nd\u00ebrtimin e Tabel\u00ebs 2, dhe Tabela 2 \u2014 p\u00ebr nd\u00ebrtimin e Tabel\u00ebs 3 dhe k\u00ebshtu me radh\u00eb. Edhe n\u00ebse asnj\u00eb atribut i Tabel\u00ebs 1 nuk merr pjes\u00eb n\u00eb nd\u00ebrtimin e Tabel\u00ebs 3 (p\u00ebrve\u00e7 se atributet e tjera t\u00eb Tabel\u00ebs 2, t\u00eb marra nga burime t\u00eb tjera), p\u00ebrdit\u00ebsimi versionues i k\u00ebsaj nd\u00ebrtese do t\u00eb sjell\u00eb s\u00eb paku shpenzime t\u00eb shtuara, dhe n\u00eb maksimum \u2014 versionet e pajustifikuara n\u00eb Tabel\u00ebn 3, e cila k\u00ebtu \u00ebsht\u00eb \u201cjasht\u00eb\u201d, dhe k\u00ebshtu me radh\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/2935f93abc46f02bdc528accda2af758.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>3. Kompleksiteti jo linear i p\u00ebrmir\u00ebsimit<\/h4>\n<p>\nK\u00ebshtu, \u00e7do vitrin\u00eb e re q\u00eb nd\u00ebrtohet mbi nj\u00eb tjet\u00ebr rrit numrin e vendeve ku t\u00eb dh\u00ebnat mund t\u00eb \"shk\u00ebrmoqen\" kur b\u00ebhen ndryshime n\u00eb ETL. Kjo, nga ana tjet\u00ebr, \u00e7on n\u00eb rritjen e kompleksitetit (dhe, koh\u00ebzgjatjes) s\u00eb \u00e7do p\u00ebrmir\u00ebsimi tjet\u00ebr.<\/p>\n<p>N\u00ebse p\u00ebrshkrimi m\u00eb sip\u00ebr i referohet sistemeve me procese ETL q\u00eb modifikohen rrall\u00eb, \u00ebsht\u00eb e mundur t\u00eb jetosh n\u00eb k\u00ebt\u00eb paradgim \u2014 mjafton t\u00eb kujdesesh q\u00eb p\u00ebrmir\u00ebsimet e reja t\u00eb p\u00ebrfshihen n\u00eb m\u00ebnyr\u00eb korrekte n\u00eb t\u00eb gjitha objektet e lidhura. Por n\u00ebse p\u00ebrmir\u00ebsimet ndodhin shpesh, probabiliteti p\u00ebr t\u00eb \"humbur\" disa lidhje rritet duksh\u00ebm.<\/p>\n<p>Dhe duke marr\u00eb parasysh se ETL \"me version\" \u00ebsht\u00eb duksh\u00ebm m\u00eb i komplikuar se ETL \"pa version\", shmangia e gabimeve gjat\u00eb p\u00ebrmir\u00ebsimeve t\u00eb shpeshta t\u00eb k\u00ebtij sistemi b\u00ebhet mjaft e v\u00ebshtir\u00eb.<\/p>\n<h3>Ruajtja e objekteve dhe atributeve n\u00eb Data Vault dhe Modelin Anchor<\/h3>\n<p>\nQasja e propozuar nga autor\u00ebt e arkitekturave fleksible mund t\u00eb formulohet k\u00ebshtu:<\/p>\n<blockquote><p>Duhet t\u00eb ndahen ato q\u00eb ndryshojn\u00eb nga ato q\u00eb mbeten t\u00eb pandryshuara. Prandaj, duhet t\u00eb ruhen \u00e7el\u00ebsat ve\u00e7mas nga atributet.<\/p><\/blockquote>\n<p> Megjithat\u00eb, nuk duhet t\u00eb ngat\u00ebrrohet <b>ETL pa version<\/b> atributi me <b>t\u00eb pandryshuesh\u00ebm<\/b>: i pari nuk e ruan historin\u00eb e ndryshimeve t\u00eb tij, por mund t\u00eb ndryshoj\u00eb (p\u00ebr shembull, kur korrigjohet nj\u00eb gabim-inputi ose merrni t\u00eb dh\u00ebna t\u00eb reja) i dyti \u2014 nuk ndryshon kurr\u00eb.<\/p>\n<p>Pik\u00ebpamjet mbi at\u00eb se \u00e7far\u00eb mund t\u00eb konsiderohet si t\u00eb pandryshueshme n\u00eb Data Vault dhe Modelin Anchor jan\u00eb t\u00eb ndryshme.<\/p>\n<p>Nga k\u00ebndv\u00ebshtrimi arkitekturor <b>Data Vault<\/b>, e pandryshueshme mund t\u00eb konsiderohet <b>i gjith\u00eb seti i \u00e7el\u00ebsave<\/b> \u2014 natyral\u00eb (NIPT i organizat\u00ebs, kodi i produktit n\u00eb sistemin burimor etj.) dhe surrogate. N\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, atributet e tjera mund t\u00eb ndahen n\u00eb grupe sipas burimit dhe\/ose frekuenc\u00ebs s\u00eb ndryshimeve dhe <b>p\u00ebr \u00e7do grup t\u00eb mbahet nj\u00eb tabel\u00eb e ve\u00e7ant\u00eb<\/b> me nj\u00eb set t\u00eb pavarur versionesh.<\/p>\n<p>Megjithat\u00eb, n\u00eb paradigmat <b>Modeli Anchor<\/b> e pandryshueshme konsiderohet <b>vet\u00ebm \u00e7el\u00ebsi surrogate<\/b> i entitetit. E gjith\u00eb e tjera (p\u00ebrfshir\u00eb \u00e7el\u00ebsat natyral\u00eb) \u2014 \u00ebsht\u00eb thjesht nj\u00eb rast i ve\u00e7ant\u00eb i atributeve t\u00eb tij. N\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb <b>t\u00eb gjitha atributet jan\u00eb n\u00eb parim t\u00eb pavarura nga nj\u00ebra-tjetra<\/b>, prandaj p\u00ebr \u00e7do atribut duhet t\u00eb krijohet <b>nj\u00eb tabel\u00eb t\u00eb ve\u00e7ant\u00eb<\/b>.<\/p>\n<p>N\u00eb <b>Data Vault<\/b> tabelat q\u00eb p\u00ebrmbajn\u00eb \u00e7el\u00ebsat e entiteteve quhen <b>Haba (Hub)<\/b>. Hubat gjithmon\u00eb p\u00ebrmbajn\u00eb nj\u00eb set fikse fushash:<\/p>\n<ul>\n<li>\u00c7el\u00ebsat natyral\u00eb t\u00eb entitetit<\/li>\n<li>\u00c7el\u00ebsi surrogate<\/li>\n<li>Referenca n\u00eb burim<\/li>\n<li>Koha e shtimit t\u00eb regjistrimit<\/li>\n<\/ul>\n<p>\nRegjistrimet n\u00eb Haba <b>kurr pavar\u00ebsisht dhe nuk kan\u00eb versione<\/b>. Nd\u00ebrsa htet jan\u00eb shum\u00eb t\u00eb ngjashme me tabelat e llojit ID-map, t\u00eb p\u00ebrdorura n\u00eb disa sisteme p\u00ebr t\u00eb gjeneruar surrogates, n\u00eb Data Vault rekomandohet t\u00eb p\u00ebrdoren jo nj\u00eb skeden integeri, por nj\u00eb hash nga grupi i \u00e7el\u00ebsave t\u00eb biznesit. Ky qasje thjeshton ngarkimin e lidhjeve dhe atributeve nga burimet (nuk \u00ebsht\u00eb e nevojshme t\u00eb bashkohemi me htet p\u00ebr t\u00eb marr\u00eb nj\u00eb surrogate, mjafton t\u00eb llogarisim hashin nga \u00e7el\u00ebsi natyral), por mund t\u00eb shkaktoj\u00eb probleme t\u00eb tjera (t\u00eb lidhura, p\u00ebr shembull, me kolizionet, regjistrin dhe karakteret e padukshme n\u00eb \u00e7el\u00ebsat string etj.), prandaj nuk \u00ebsht\u00eb praktik\u00eb e zakonshme.<\/p>\n<p>T\u00eb gjitha atributet e tjera t\u00eb entiteteve ruhen n\u00eb tabela speciale, t\u00eb quajtura <b>Satelit\u00eb (Satellit)<\/b>. Nj\u00eb h\u00ebt mund t\u00eb ket\u00eb disa satelit\u00eb q\u00eb ruajn\u00eb grupe t\u00eb ndryshme atributesh.<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/e145f211b8cfb51894e6e1789991e1cd.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nShp\u00ebrndarja e atributeve n\u00eb satelit\u00eb ndodh sipas parimit <b>t\u00eb ndryshimit t\u00eb p\u00ebrbashk\u00ebt<\/b> \u2014 n\u00eb nj\u00eb satelit mund t\u00eb ruhen atribute jo versionale (p.sh., data e lindjes dhe SNILS p\u00ebr individ\u00ebt), n\u00eb nj\u00eb tjet\u00ebr \u2014 atribute versionale me ndryshime t\u00eb rralla (p.sh., mbiemri dhe numri i pasaport\u00ebs), n\u00eb nj\u00eb t\u00eb tret\u00eb \u2014 atribute q\u00eb ndryshojn\u00eb shpesh (p.sh., adresa e d\u00ebrgimit, kategoria, data e porosis\u00eb s\u00eb fundit etj.). Versionaliteti mbahet n\u00eb nivelin e satelit\u00ebve t\u00eb ve\u00e7ant\u00eb, jo t\u00eb entitetit n\u00eb t\u00ebr\u00ebsi, prandaj shp\u00ebrndarja e atributeve duhet b\u00ebr\u00eb n\u00eb m\u00ebnyr\u00eb q\u00eb p\u00ebrputhja e versioneve brenda nj\u00eb sateliti t\u00eb jet\u00eb minimale (\u00e7ka redukton numrin e p\u00ebrgjithsh\u00ebm t\u00eb versioneve t\u00eb ruajtura). <\/p>\n<p>Gjithashtu, p\u00ebr t\u00eb optimizuar procesin e ngarkes\u00ebs s\u00eb t\u00eb dh\u00ebnave, atribute t\u00eb marra nga burime t\u00eb ndryshme shpesh vendosen n\u00eb satelite t\u00eb ve\u00e7anta.<\/p>\n<p>Satelit\u00ebt lidhen me Hubin p\u00ebrmes <b>\u00e7el\u00ebsit t\u00eb jasht\u00ebm<\/b> (e cila p\u00ebrkon me kardinalitetin 1-m\u00eb shum\u00eb). Kjo do t\u00eb thot\u00eb q\u00eb vlera t\u00eb shumta atribute (p.sh., disa numra kontakti p\u00ebr nj\u00eb klient t\u00eb vet\u00ebm) mb\u00ebshtetet nga kjo arkitektur\u00eb \u201cp\u00ebr default\u201d.<\/p>\n<p>N\u00eb <b>Modeli i Ankor\u00ebs (Anchor Model)<\/b> tabelat q\u00eb ruajn\u00eb \u00e7el\u00ebsat quhen <b>Ankora (Anchor)<\/b>. Dhe ato ruajn\u00eb: <\/p>\n<ul>\n<li><b>Vet\u00ebm \u00e7el\u00ebsa surrogat<\/b><\/li>\n<li>Referenca n\u00eb burim<\/li>\n<li>Koha e shtimit t\u00eb regjistrimit<\/li>\n<\/ul>\n<p>\n\u00c7el\u00ebsat natyror\u00eb sipas Modelit t\u00eb Ankor\u00ebs konsiderohen <b>atribute t\u00eb zakonshme<\/b>. Ky variant mund t\u00eb duket m\u00eb i komplikuar p\u00ebr tu kuptuar, por ofron shum\u00eb m\u00eb tep\u00ebr hap\u00ebsir\u00eb p\u00ebr identifikimin e objektit.<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/0bf941581fd1177eda228d4429cf69db.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr shembull, n\u00ebse t\u00eb dh\u00ebnat p\u00ebr nj\u00eb entitet t\u00eb nj\u00ebjt\u00eb mund t\u00eb vijn\u00eb nga sisteme t\u00eb ndryshme, t\u00eb cilat p\u00ebrdorin secila \u00e7el\u00ebsin e saj natyror. N\u00eb Data Vault, kjo mund t\u00eb \u00e7oj\u00eb n\u00eb konstruksione mjaft t\u00eb nd\u00ebrlikuara me disa qendra (nj\u00eb p\u00ebr burimin + nj\u00eb version master bashkues), nd\u00ebrsa n\u00eb modelin e Ankor\u00ebs \u00e7el\u00ebsi natyror i secilit burim bie n\u00eb atributin e tij dhe mund t\u00eb p\u00ebrdoret gjat\u00eb ngarkimit, pavar\u00ebsisht nga t\u00eb tjer\u00ebt. <\/p>\n<p>Por k\u00ebtu ndodhet nj\u00eb moment i trukosur: n\u00ebse n\u00eb nj\u00eb entitet bashkohen atribute nga sisteme t\u00eb ndryshme, me siguri ekzistojn\u00eb disa <b>rregulla \"bashkimit\"<\/b>, sipas t\u00eb cilave sistemi duhet t\u00eb kuptoj\u00eb se regjistrimet nga burime t\u00eb ndryshme i p\u00ebrkasin nj\u00eb shembulli t\u00eb vet\u00ebm t\u00eb entitetit. <\/p>\n<p>N\u00eb <b>Data Vault<\/b> k\u00ebto rregulla ndoshta do t\u00eb p\u00ebrcaktojn\u00eb formimin <b>\"qendr\u00ebs surrogate\" t\u00eb entitetit master<\/b> dhe nuk do t\u00eb ndikoj\u00eb aspak n\u00eb Hubs, q\u00eb ruajn\u00eb \u00e7el\u00ebsat natyror\u00eb t\u00eb burimeve dhe atributet e tyre origjinale. N\u00ebse n\u00eb ndonj\u00eb moment rregullat e bashkimit ndryshojn\u00eb (ose vjen nj\u00eb p\u00ebrdit\u00ebsim i infrastruktur\u00ebs, n\u00eb t\u00eb cilin kryhet), do t\u00eb mjaftonte t\u00eb riformatohej hub-i surrogat.<\/p>\n<p>N\u00eb <b>Modeli i ankor\u00ebs<\/b> kjo entitet do t\u00eb ruhet m\u00eb shum\u00eb n\u00eb <b>nj\u00eb ankor\u00eb t\u00eb vetme<\/b>. Kjo do t\u00eb thot\u00eb se t\u00eb gjitha atributet, pavar\u00ebsisht se nga cili burim jan\u00eb marr\u00eb, do t\u00eb jen\u00eb t\u00eb lidhura me t\u00eb nj\u00ebjtin surrogat. T\u00eb ndajm\u00eb regjistrimet e bashkuara gabimisht dhe t\u00eb ndjekim n\u00eb p\u00ebrgjith\u00ebsi aktualitetin e bashkimit n\u00eb nj\u00eb sistem t\u00eb till\u00eb mund t\u00eb jet\u00eb dhimbje m\u00eb e madhe, sidomos n\u00ebse rregullat jan\u00eb mjaft komplekse dhe ndryshojn\u00eb shpesh, dhe i nj\u00ebjti atribut mund t\u00eb merret nga burime t\u00eb ndryshme (ndon\u00ebse \u00ebsht\u00eb e mundur sakt\u00ebsisht, pasi \u00e7do version atributi ruan nj\u00eb lidhje me burimin e tij).<\/p>\n<p>Sidoqoft\u00eb, n\u00ebse sistemi juaj parashikon realizimin e funksionaliteteve <b>t\u00eb dedublikimit, bashkimit t\u00eb regjistrimeve dhe elementeve t\u00eb tjera MDM<\/b>, \u00ebsht\u00eb ve\u00e7an\u00ebrisht e r\u00ebnd\u00ebsishme t\u00eb b\u00ebni kujdes me aspektet e ruajtjes s\u00eb \u00e7eljeve natyrore n\u00eb metodologjit\u00eb fleksibile. Ndoshta, nj\u00eb konstrukcion m\u00eb i komplikuar Data Vault do t\u00eb rezultoj\u00eb t\u00eb jet\u00eb m\u00eb i sigurt n\u00eb pik\u00ebpamje t\u00eb gabimeve t\u00eb bashkimit.<\/p>\n<p><b>Modeli Yll<\/b> po ashtu parashikon nj\u00eb lloj objekti shtes\u00eb, t\u00eb quajtur <b>Knot<\/b> \u00ebsht\u00eb thelb\u00ebsisht nj\u00eb <b>form\u00eb e ve\u00e7ant\u00eb e yllit<\/b>, i cili mund t\u00eb p\u00ebrmbaj\u00eb vet\u00ebm nj\u00eb atribut. Nodet parashikohen t\u00eb p\u00ebrdoren p\u00ebr ruajtjen e listave t\u00eb sheshta (p.sh., plaku, stati civil, kategoria e sh\u00ebrbimit t\u00eb klient\u00ebve etj.). Ndryshe nga Ylli, Node <b>nuk ka tabela t\u00eb lidhura mbi atributet<\/b>, dhe atributi i tij i vet\u00ebm (emri) gjithmon\u00eb ruhet n\u00eb nj\u00eb tabel\u00eb me \u00e7el\u00ebsin. Node lidh\u00ebn me Yllin p\u00ebrmes tabelave t\u00eb lidhjeve (Tie) ashtu si yjet me nj\u00ebri-tjetrin.<\/p>\n<p>Nuk ka nj\u00eb mendim t\u00eb qart\u00eb n\u00eb lidhje me p\u00ebrdorimin e Nodeve. P\u00ebr shembull, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/azathot\/\">Nikolai Golov<\/a><\/noindex>, q\u00eb promovon aktivisht p\u00ebrdorimin e Modelit Yll n\u00eb Rusi, mendon (pa argumente t\u00eb pabazuara) se asnj\u00eb p\u00ebrfaq\u00ebsues nuk mund t\u00eb pranohet se ai <b>p\u00ebrher\u00eb<\/b> do t\u00eb jet\u00eb statik dhe nj\u00ebnivel\u00ebsh, prandaj p\u00ebr t\u00eb gjitha objektet \u00ebsht\u00eb m\u00eb mir\u00eb t\u00eb p\u00ebrdoret menj\u00ebher\u00eb nj\u00eb Ankor i plot\u00eb.<\/p>\n<p>Nj\u00eb tjet\u00ebr ndryshim i r\u00ebnd\u00ebsish\u00ebm midis Data Vault dhe modelit Ankor \u00ebsht\u00eb prania <b>e atributeve te lidhjeve<\/b>:<\/p>\n<p>N\u00eb <b>Data Vault<\/b> Lidhjet jan\u00eb objekte t\u00eb plota, ashtu si Hubs, dhe mund t\u00eb ken\u00eb <b>atributet e tyre<\/b>. N\u00eb <b>Modeli i ankor\u00ebs<\/b> Lidhjet p\u00ebrdoren vet\u00ebm p\u00ebr t\u00eb lidhur Ankor\u00ebt dhe <b>nuk mund t\u00eb ken\u00eb atribute t\u00eb tyre<\/b>. Ky ndryshim ofron qasje t\u00eb ndryshme n\u00eb modelimin <b>e fakteve<\/b>, p\u00ebr t\u00eb cilat do t\u00eb flasim m\u00eb posht\u00eb.<\/p>\n<h3>Ruajtja e fakteve<\/h3>\n<p>\nDerisa deri tani kemi folur kryesisht p\u00ebr modelimin e dimensioneve, p\u00ebr faktet gj\u00ebrat jan\u00eb pak m\u00eb pak t\u00eb qarta.<\/p>\n<p>N\u00eb <b>Data Vault<\/b> nj\u00eb objekt tipik p\u00ebr ruajtjen e fakteve \u2014<b> Lidhja (Link)<\/b>, n\u00eb Satalit\u00ebt e s\u00eb cil\u00ebs grumbullohen treguesit real.<\/p>\n<p>Ky qasje duket intuitivisht e kuptueshme. Ofron akses t\u00eb thjesht\u00eb n\u00eb treguesit e analizuar dhe p\u00ebrgjith\u00ebsisht \u00ebsht\u00eb e ngjashme me tabel\u00ebn tradicionale t\u00eb fakteve (vet\u00ebm se treguesit nuk ruhen n\u00eb tabel\u00ebn e vet, por n\u00eb 'fqinjin'). Por ka edhe pengesa: nj\u00eb nga p\u00ebrmir\u00ebsimet e zakonshme t\u00eb modelit \u2014 zgjerimi i \u00e7el\u00ebsit t\u00eb faktit \u2014 shkakton nevoj\u00ebn <b>p\u00ebr t\u00eb shtuar nj\u00eb \u00e7el\u00ebs t\u00eb ri t\u00eb jasht\u00ebm n\u00eb Link<\/b>. Kjo, nga ana tjet\u00ebr, \"prish\" modularitetin dhe potencialisht shkakton nevoj\u00ebn p\u00ebr korrigjime t\u00eb objekteve t\u00eb tjera.<\/p>\n<p>N\u00eb <b>Modeli i ankor\u00ebs<\/b> Lidhja nuk mund t\u00eb ket\u00eb atributet e saj, prandaj ky qasje nuk funksionon \u2014 t\u00eb gjitha atributet dhe treguesit duhet t\u00eb jen\u00eb t\u00eb lidhur me nj\u00eb ankor\u00eb t\u00eb caktuar. Konkluzioni \u00ebsht\u00eb i thjesht\u00eb \u2014 <b>p\u00ebr \u00e7do fakt nevojitet nj\u00eb ankor\u00eb e tij.<\/b>. P\u00ebr disa nga ato q\u00eb ne i percekojm\u00eb si fakte, kjo mund t\u00eb duket natyrale \u2014 p\u00ebr shembull, fakti i blerjes lidhet p\u00ebrkryer me objektin \"porosi\" ose \"cek\", vizita n\u00eb sit \u2014 me sesionin etj. Por ka edhe fakte p\u00ebr t\u00eb cilat nuk \u00ebsht\u00eb aq e leht\u00eb t\u00eb gjejm\u00eb nj\u00eb \"objekt-mbajt\u00ebs\" natyral \u2014 p\u00ebr shembull, mbetjet e produkteve n\u00eb magazinat n\u00eb fillim t\u00eb \u00e7do dite. <\/p>\n<p>Prandaj, nuk ka probleme me modularitetin kur zgjerohet \u00e7el\u00ebsi i faktit n\u00eb Modelin Ankor \u2014 mjafton t\u00eb shtosh nj\u00eb Lidhje t\u00eb re me ankor\u00ebn p\u00ebrkat\u00ebse, por projektimi i modelit p\u00ebr paraqitjen e fakteve \u00ebsht\u00eb m\u00eb pak e qart\u00eb, mund t\u00eb shfaqen \"ankora artificiale\", q\u00eb paraqesin modelin objektor t\u00eb biznesit n\u00eb m\u00ebnyr\u00eb t\u00eb paqart\u00eb.<\/p>\n<h3>Si arrihet fleksibiliteti<\/h3>\n<p>\nStruktura e krijuar n\u00eb t\u00eb dy rastet p\u00ebrmban <b>n\u00eb m\u00ebnyr\u00eb t\u00eb konsiderueshme m\u00eb shum\u00eb tabela<\/b>, sesa matja tradicionale. Por mund t\u00eb marr\u00eb <b>n\u00eb m\u00ebnyr\u00eb t\u00eb konsiderueshme m\u00eb pak hap\u00ebsir\u00eb diskore<\/b> me t\u00eb nj\u00ebjtin set atributesh versioni si matja tradicionale. Natyrisht, nuk ka magji \u2014 \u00ebsht\u00eb \u00e7\u00ebshtje normalizimi. Duke shp\u00ebrndar\u00eb atributet n\u00eb Satelit\u00eb (n\u00eb Data Vault) ose tabela t\u00eb ve\u00e7anta (Modeli Anchor), ne zvog\u00eblojm\u00eb (ose p\u00ebrjashtojm\u00eb krejt\u00ebsisht) <b>dyfishimin e vlerave t\u00eb disa atributeve kur ndryshojn\u00eb t\u00eb tjer\u00eb<\/b>.<\/p>\n<p>P\u00ebr <b>Data Vault<\/b> fitimi do t\u00eb varet nga shp\u00ebrndarja e atributeve n\u00eb Satelit\u00eb, dhe p\u00ebr <b>Modeli i ankor\u00ebs<\/b> \u2014 n\u00eb praktik\u00eb \u00ebsht\u00eb proporcional me numrin mesatar t\u00eb versioneve p\u00ebr objektin e matjes.<\/p>\n<p>Megjithat\u00eb, fitimi n\u00eb hap\u00ebsir\u00ebn e marr\u00eb \u00ebsht\u00eb nj\u00eb p\u00ebrfitim i r\u00ebnd\u00ebsish\u00ebm, por jo kryesor i ruajtjes s\u00eb ve\u00e7ant\u00eb t\u00eb atributeve. S\u00eb bashku me ruajtjen e ve\u00e7ant\u00eb t\u00eb lidhjeve, ky qasje e b\u00ebn magazin\u00ebn <b>nj\u00eb konstruksion modular<\/b>. Kjo do t\u00eb thot\u00eb se shtimi i atributeve t\u00eb ve\u00e7anta, si dhe i t\u00ebr\u00eb zonave t\u00eb reja tematike n\u00eb nj\u00eb model t\u00eb till\u00eb duket si <b>nj\u00eb shtes\u00eb<\/b> mbi setin ekzistues t\u00eb objekteve pa i ndryshuar ato. Dhe kjo \u00ebsht\u00eb pik\u00ebrisht ajo q\u00eb b\u00ebn metodologjit\u00eb e p\u00ebrshkruara fleksib\u00ebl.<\/p>\n<p>Kjo gjithashtu i ngjan kalimit nga prodhimi artesanal n\u00eb at\u00eb masiv \u2014 n\u00ebse n\u00eb qasjen tradicionale \u00e7do tabel\u00eb modeli \u00ebsht\u00eb unikale dhe k\u00ebrkon v\u00ebmendje t\u00eb ve\u00e7ant\u00eb, n\u00eb metodologjit\u00eb fleksibile, ato jan\u00eb tashm\u00eb nj\u00eb grup \u201cdetajesh\u201d standarde. Nga nj\u00ebra an\u00eb, numri i tabelave rritet, proceset e ngarkimit dhe nxjerrjes s\u00eb t\u00eb dh\u00ebnave duhet t\u00eb duken m\u00eb t\u00eb komplikuara. Nga ana tjet\u00ebr, ato b\u00ebhen <b>standard<\/b>. Pra, ato mund t\u00eb jen\u00eb <b>t\u00eb automatizuara dhe t\u00eb menaxhuara nga metadat<\/b>. Pyetja \u201csi do t'i vendosim?\u201d, p\u00ebrgjigja e s\u00eb cil\u00ebs mund t\u00eb zinte nj\u00eb pjes\u00eb t\u00eb r\u00ebnd\u00ebsishme t\u00eb pun\u00ebs n\u00eb projektimin e ndryshimeve, tani thjesht nuk egziston (ashtu si pyetja n\u00ebse ndryshimi i modelit do t\u00eb ndikoj\u00eb n\u00eb proceset n\u00eb funksion). <\/p>\n<p>Kjo nuk do t\u00eb thot\u00eb se analist\u00ebt n\u00eb nj\u00eb sistem t\u00eb till\u00eb nuk jan\u00eb t\u00eb nevojsh\u00ebm fare \u2014 dikush ende duhet t\u00eb p\u00ebrpunoj\u00eb nj\u00eb grup objektesh me atribute dhe t\u00eb kuptoj\u00eb se nga ku dhe si do t\u00eb ngarkohet gjith\u00eb kjo. Por volumi i pun\u00ebs, si dhe probabiliteti dhe kostoja e gabimit, zvog\u00eblohen ndjesh\u00ebm. Si n\u00eb faz\u00ebn e analiz\u00ebs, ashtu edhe n\u00eb zhvillimin e ETL, i cili n\u00eb pjes\u00ebn m\u00eb t\u00eb madhe mund t\u00eb reduktohet n\u00eb redaktimin e metadatas. <\/p>\n<h3>Anija e err\u00ebt<\/h3>\n<p>\nE gjith\u00eb ajo q\u00eb u p\u00ebrmend m\u00eb sip\u00ebr e b\u00ebn t\u00eb dyja qasjet v\u00ebrtet fleksibile, teknologjike dhe t\u00eb p\u00ebrshtatshme p\u00ebr p\u00ebrmir\u00ebsim iterativ. Natyrisht, ka dhe nj\u00eb \"barrel\u00eb katran\", p\u00ebr t\u00eb cil\u00ebn, mendoj, tashm\u00eb jeni duke u menduar.<\/p>\n<p>Dekompilimi i t\u00eb dh\u00ebnave, q\u00eb \u00ebsht\u00eb baz\u00eb e modularitetit t\u00eb arkitekturave fleksibile, \u00e7on n\u00eb rritjen e numrit t\u00eb tabelave dhe, p\u00ebr pasoj\u00eb, <b>kostos s\u00eb mbulimit<\/b> p\u00ebr bashk\u00ebveprimin gjat\u00eb t\u00ebrheqjes. P\u00ebr t\u00eb marr\u00eb thjesht gjitha atributet e matjes, n\u00eb nj\u00eb magazin\u00eb klasike mjafton nj\u00eb selektim, nd\u00ebrsa arkitektura fleksibile k\u00ebrkon nj\u00eb seri t\u00eb t\u00ebr\u00eb bashk\u00ebveprimesh. Kjo \u00ebsht\u00eb ve\u00e7an\u00ebrisht e v\u00ebshtir\u00eb p\u00ebr analist\u00ebt q\u00eb jan\u00eb t\u00eb zakonsh\u00ebm n\u00eb shkrimin e SQL-it me dor\u00eb.<\/p>\n<p>Ka disa fakte q\u00eb leht\u00ebsojn\u00eb k\u00ebt\u00eb situat\u00eb:<\/p>\n<p><b>Gjat\u00eb pun\u00ebs me p\u00ebrmasa t\u00eb m\u00ebdha, pothuajse kurr\u00eb nuk p\u00ebrdoren t\u00eb gjitha atributet e saj nj\u00ebkoh\u00ebsisht.<\/b> Kjo do t\u00eb thot\u00eb se numri i bashkimeve mund t\u00eb jet\u00eb m\u00eb i vog\u00ebl se sa duket n\u00eb pamje t\u00eb par\u00eb n\u00eb model. N\u00eb Data Vault mund t\u00eb merret parasysh gjithashtu frekuenca e supozuar e bashk\u00ebp\u00ebrdorimit kur shp\u00ebrndahen atributet n\u00eb satellite. Megjithat\u00eb, Habbat ose Ankor\u00ebt kan\u00eb nevoj\u00eb kryesisht p\u00ebr gjenerimin dhe mapimin e z\u00ebvend\u00ebsuesve n\u00eb faz\u00ebn e ngarkimit dhe p\u00ebrdoren rrall\u00eb n\u00eb pyetje (ve\u00e7an\u00ebrisht kjo e vlen p\u00ebr Ankor\u00ebt).<\/p>\n<p><b>T\u00eb gjitha bashkimet jan\u00eb sipas \u00e7el\u00ebsit.<\/b> P\u00ebr m\u00eb tep\u00ebr, nj\u00eb m\u00ebnyr\u00eb m\u00eb \"e ngjeshur\" e ruajtjes s\u00eb t\u00eb dh\u00ebnave ul kostot e skanimit t\u00eb tabelave atje ku \u00ebsht\u00eb e nevojshme (p.sh., kur filtrohet sipas vler\u00ebs s\u00eb atributit). Kjo mund t\u00eb rezultoj\u00eb n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00ebrheqja nga nj\u00eb baz\u00eb e normalizuar me shum\u00eb bashkime t\u00eb jet\u00eb edhe m\u00eb e shpejt\u00eb sesa skanimi i nj\u00eb dimensioni t\u00eb r\u00ebnd\u00eb me shum\u00eb versione n\u00eb rresht.<\/p>\n<p>P\u00ebr shembull, k\u00ebtu \u00ebsht\u00eb n\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/www.anchormodeling.com\/wp-content\/uploads\/2011\/05\/Anchor-Modeling.pdf\">k\u00ebt\u00eb <\/a><\/noindex> artikullin ka nj\u00eb test t\u00eb detajuar krahasimi t\u00eb performanc\u00ebs s\u00eb modelit Ankor me t\u00ebrheqjen nga nj\u00eb tabel\u00eb.<\/p>\n<p><b>Shum\u00eb varet nga motori.<\/b> Shum\u00eb nga platformat moderne kan\u00eb mekanizma t\u00eb brendsh\u00ebm p\u00ebr optimizimin e bashkimeve. P\u00ebr shembull, MS SQL dhe Oracle din\u00eb t\u00eb \"kalojn\u00eb\" bashkimet me tabela, n\u00ebse t\u00eb dh\u00ebnat e tyre nuk p\u00ebrdoren askund tjet\u00ebr, p\u00ebrve\u00e7 bashkimeve t\u00eb tjera dhe nuk ndikojn\u00eb n\u00eb zgjedhjen p\u00ebrfundimtare (eliminimi i tabelave\/bashkimeve), nd\u00ebrsa MPP Vertica, n\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/www.anchormodeling.com\/wp-content\/uploads\/2011\/05\/Big_Data_Normalization.pdf\">p\u00ebrvoj\u00ebn e koleg\u00ebve nga Avito<\/a><\/noindex>, e ka treguar vetveten si nj\u00eb motor t\u00eb shk\u00eblqyer p\u00ebr Modelin Anker me disa optimizime manuale t\u00eb planit t\u00eb k\u00ebrkes\u00ebs. Nga ana tjet\u00ebr, ruajtja e Modelit Anker, p\u00ebr shembull, n\u00eb Click House, i cili ka mb\u00ebshtetje t\u00eb kufizuar p\u00ebr bashkime, deri tani duket si nj\u00eb ide jo shum\u00eb e mir\u00eb.<\/p>\n<p>P\u00ebr m\u00eb tep\u00ebr, p\u00ebr t\u00eb dyja arkitektur\u00ebn ekzistojn\u00eb <b>trika t\u00eb ve\u00e7anta<\/b>, q\u00eb leht\u00ebsojn\u00eb qasjen n\u00eb t\u00eb dh\u00ebna (si nga k\u00ebndv\u00ebshtrimi i performanc\u00ebs s\u00eb k\u00ebrkesave, ashtu edhe p\u00ebr p\u00ebrdoruesit t\u00eb fundit). P\u00ebr shembull, <b>tabelat Point-In-Time<\/b> n\u00eb Data Vault ose <b>funksionet e ve\u00e7anta t\u00eb tabelave<\/b> n\u00eb Modelin Anker.<\/p>\n<h2>N\u00eb p\u00ebrfundim<\/h2>\n<p>\nEssenca kryesore e arkitekturave fleksibile t\u00eb shqyrtuara \u00ebsht\u00eb modulariteti i \"nd\u00ebrtimeve\" t\u00eb tyre. <\/p>\n<p>Ky t\u00eb qenit lejon:<\/p>\n<ul>\n<li>Pas nj\u00eb p\u00ebrgatitjeje fillestare, e lidhur me shp\u00ebrndarjen e metadatan dhe shkruarjen e algoritmave baz\u00eb ETL, <b>t\u00eb ofrohet shpejt rezultati i par\u00eb p\u00ebr klientin<\/b> n\u00eb form\u00ebn e disa raporteve q\u00eb p\u00ebrmbajn\u00eb t\u00eb dh\u00ebna nga disa objekte burimesh. Nuk \u00ebsht\u00eb e nevojshme t\u00eb mendosh plot\u00ebsisht (edhe n\u00eb nj\u00eb nivel t\u00eb lart\u00eb) p\u00ebr modelin e t\u00eb gjitha objekteve p\u00ebr k\u00ebt\u00eb.<\/li>\n<li>Modeli i t\u00eb dh\u00ebnave mund t\u00eb filloj\u00eb t\u00eb funksionoj\u00eb (dhe t\u00eb sjell\u00eb p\u00ebrfitime) me vet\u00ebm 2-3 objekte, dhe pastaj <b>t\u00eb rritet gradualisht<\/b> (n\u00eb lidhje me modelin e ankorimit, Nikolai <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/avito\/blog\/322510\/\">ka p\u00ebrdorur <\/a><\/noindex>nj\u00eb krahasim t\u00eb bukur me myshkun).<\/li>\n<li>Shumica e p\u00ebrmir\u00ebsimeve, duke p\u00ebrfshir\u00eb zgjerimin e fush\u00ebs s\u00eb subjektit dhe shtimin e burimeve t\u00eb reja <b>nuk prek funksionalitetin ekzistues dhe nuk paraqet rrezik p\u00ebr t\u00eb prishur di\u00e7ka q\u00eb tashm\u00eb funksionon.<\/b>.<\/li>\n<li>Fal\u00eb dekompozimit n\u00eb elemente standarte, proceset ETL n\u00eb k\u00ebto sisteme duken uniforme, shkrimi i tyre \u00ebsht\u00eb i p\u00ebrshtatsh\u00ebm p\u00ebr algoritmizim dhe, n\u00eb fund, <b>automatik.<\/b>.<\/li>\n<\/ul>\n<p>\nKostoja e nj\u00eb fleksibiliteti t\u00eb till\u00eb \u00ebsht\u00eb <b>performanca<\/b>. Kjo nuk do t\u00eb thot\u00eb se arritja e nj\u00eb performanc\u00eb t\u00eb pranueshme n\u00eb k\u00ebto modele \u00ebsht\u00eb e pamundur. Shpesh, thjesht mund t'ju nevojitet m\u00eb shum\u00eb p\u00ebrpjekje dhe v\u00ebmendje ndaj detajeve p\u00ebr t\u00eb arritur metrikat e d\u00ebshiruara.<\/p>\n<h2>Aplikacionet<\/h2>\n<p><\/p>\n<h4>Llojet e entiteteve <b>Data Vault<\/b><\/h4>\n<p>\n<img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/6bbaee505587152d7e5c11b2889bf25a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nM\u00eb shum\u00eb mbi Data Vault:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/danlinstedt.com\/\">Faqja e Dan Listed<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/www.dwh-club.com\/ru\/dwh-bi-articles\/vse-o-data-vault.html\">T\u00eb gjitha mbi Data Vault n\u00eb rusisht<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/348188\/\">P\u00ebr Data Vault n\u00eb Habr<\/a><\/noindex><\/p>\n<h4>Llojet e entiteteve <b>Modeli Anchor<\/b><\/h4>\n<p>\n<img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/d518f01e6a5c241e9e73d1ea0210c557.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nM\u00eb shum\u00eb rreth Modelit Anchor:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/www.anchormodeling.com\/\">Faqja e krijuesve t\u00eb Modelit Anchor<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/avito\/blog\/322510\/\">Artikulli mbi p\u00ebrvoj\u00ebn e implementimit t\u00eb Modelit Anchor n\u00eb Avito<\/a><\/noindex><\/p>\n<p>Tabela p\u00ebrmbledh\u00ebse me karakteristikat dhe dallimet e qasjeve t\u00eb shqyrtuara:<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrmbledhja e metodologjive fleksibile t\u00eb projektimit DWH\" src=\"\/wp-content\/uploads\/2020\/08\/807717245fd874ab141031fc64e584fc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/glowbyte\/blog\/515940\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u2014 \u0434\u0435\u043b\u043e \u0434\u043e\u043b\u0433\u043e\u0435 \u0438 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e\u0435. \u041c\u043d\u043e\u0433\u043e\u0435 \u0432 \u0436\u0438\u0437\u043d\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0434\u0443\u043c\u0430\u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0431\u0430\u0437\u044b \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435. \u041e\u0431\u0449\u0435\u043f\u0440\u0438\u043d\u044f\u0442\u044b\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c \u0431\u044b\u043b\u0438 \u0438 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u0441\u0445\u0435\u043c\u044b \u201c\u0437\u0432\u0435\u0437\u0434\u0430\u201d \u0441 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u043e\u0439. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443: \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u2014 3NF, \u0432\u0438\u0442\u0440\u0438\u043d\u044b \u2014 \u0437\u0432\u0435\u0437\u0434\u0430. \u042d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434, \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0438 \u043f\u043e\u0434\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043d\u044b\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":92016,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-92015","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u2014 \u0434\u0435\u043b\u043e \u0434\u043e\u043b\u0433\u043e\u0435 \u0438 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e\u0435. \u041c\u043d\u043e\u0433\u043e\u0435 \u0432 \u0436\u0438\u0437\u043d\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0434\u0443\u043c\u0430\u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0431\u0430\u0437\u044b \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435. \u041e\u0431\u0449\u0435\u043f\u0440\u0438\u043d\u044f\u0442\u044b\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c \u0431\u044b\u043b\u0438 \u0438 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u0441\u0445\u0435\u043c\u044b \u201c\u0437\u0432\u0435\u0437\u0434\u0430\u201d \u0441 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u043e\u0439. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443: \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u2014 3NF, \u0432\u0438\u0442\u0440\u0438\u043d\u044b \u2014 \u0437\u0432\u0435\u0437\u0434\u0430. \u042d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434, \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0438 \u043f\u043e\u0434\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043d\u044b\u0439\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/obzor-gibkih-metodologij-proektirovaniya-dwh\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0431\u0437\u043e\u0440 \u0433\u0438\u0431\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f DWH | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u2014 \u0434\u0435\u043b\u043e \u0434\u043e\u043b\u0433\u043e\u0435 \u0438 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e\u0435. \u041c\u043d\u043e\u0433\u043e\u0435 \u0432 \u0436\u0438\u0437\u043d\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0434\u0443\u043c\u0430\u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0431\u0430\u0437\u044b \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435. \u041e\u0431\u0449\u0435\u043f\u0440\u0438\u043d\u044f\u0442\u044b\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c \u0431\u044b\u043b\u0438 \u0438 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u0441\u0445\u0435\u043c\u044b \u201c\u0437\u0432\u0435\u0437\u0434\u0430\u201d \u0441 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u043e\u0439. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443: \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u2014 3NF, \u0432\u0438\u0442\u0440\u0438\u043d\u044b \u2014 \u0437\u0432\u0435\u0437\u0434\u0430. \u042d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434, \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0438 \u043f\u043e\u0434\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043d\u044b\u0439\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/obzor-gibkih-metodologij-proektirovaniya-dwh\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-08-21T17:42:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-21T17:42:13+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47P\u00ebrmbledhje mbi metodologjit\u00eb fleksibile t\u00eb projektimit DWH | ProHoster","description":"Zhvillimi i nj\u00eb depozite \u00ebsht\u00eb nj\u00eb proces i gjat\u00eb dhe serioz. Shum\u00eb gj\u00ebra n\u00eb jet\u00ebn e projektit varen nga sa mir\u00eb \u00ebsht\u00eb menduar modeli object dhe struktura e baz\u00ebs n\u00eb fillim. Qasja e pranuar gjithnj\u00eb ka qen\u00eb dhe mbetet varianta t\u00eb ndryshme t\u00eb kombinimeve t\u00eb skem\u00ebs \"yje\" me form\u00ebn e tret\u00eb normale. N\u00eb p\u00ebrgjith\u00ebsi, sipas parimit: t\u00eb dh\u00ebnat fillestare - 3NF, vitrinat - yll. Ky qasje, e provuar me koh\u00eb dhe e mb\u00ebshtetur","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/obzor-gibkih-metodologij-proektirovaniya-dwh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0431\u0437\u043e\u0440 \u0433\u0438\u0431\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f DWH | ProHoster","og:description":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u2014 \u0434\u0435\u043b\u043e \u0434\u043e\u043b\u0433\u043e\u0435 \u0438 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e\u0435. \u041c\u043d\u043e\u0433\u043e\u0435 \u0432 \u0436\u0438\u0437\u043d\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0434\u0443\u043c\u0430\u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0431\u0430\u0437\u044b \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435. \u041e\u0431\u0449\u0435\u043f\u0440\u0438\u043d\u044f\u0442\u044b\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c \u0431\u044b\u043b\u0438 \u0438 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u0441\u0445\u0435\u043c\u044b \u201c\u0437\u0432\u0435\u0437\u0434\u0430\u201d \u0441 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u043e\u0439. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443: \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u2014 3NF, \u0432\u0438\u0442\u0440\u0438\u043d\u044b \u2014 \u0437\u0432\u0435\u0437\u0434\u0430. \u042d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434, \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0438 \u043f\u043e\u0434\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043d\u044b\u0439","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/obzor-gibkih-metodologij-proektirovaniya-dwh","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-08-21T17:42:13+00:00","article:modified_time":"2020-08-21T17:42:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"92015","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:16:44","updated":"2022-09-27 14:57:59"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/92015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=92015"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/92015\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/92016"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=92015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=92015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=92015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}