Ташаккул додани як анбор кори тӯлонӣ ва ҷиддӣ аст.
Бисёр чиз дар ҳаёти лоиҳа аз он вобаста аст, ки модели объект ва сохтори асосӣ дар оғоз то чӣ андоза хуб фикр карда шудааст.
Муносибати аз ҷониби умум қабулшуда вариантҳои гуногуни якҷоя кардани схемаи ситораҳо бо шакли сеюми муқаррарӣ буд ва боқӣ мемонад. Чун қоида, аз рӯи принсип: маълумоти ибтидоӣ - 3NF, витринаҳо - ситора. Ин равиш, ки аз ҷониби вақт санҷида ва аз ҷониби миқдори зиёди тадқиқот дастгирӣ карда мешавад, аввалин (ва баъзан ягона) чизест, ки ба фикри мутахассиси ботаҷрибаи DWH ҳангоми фикр кардан дар бораи он, ки анбори таҳлилӣ бояд чӣ гуна бошад.
Аз тарафи дигар, тиҷорат дар маҷмӯъ ва махсусан талаботи муштариён зуд тағйир меёбад ва маълумот тамоюли ҳам “амиқӣ” ва ҳам “дар васеъ” афзоиш меёбад. Ва дар ин ҷо камбудии асосии ситора пайдо мешавад - маҳдуд аст чандирӣ.
Ва агар дар ҳаёти ором ва бароҳати шумо ҳамчун як таҳиягари DWH ногаҳон:
лоиҳаи босуръат рушдёбанда пайдо шуд, ки бо пайваст кардани манбаъҳои нав ва коркарди модели бизнес на камтар аз як маротиба дар як ҳафта;
муштарӣ пайдо шуд, ки намедонад, ки система бояд чӣ гуна бошад ва дар ниҳоят он бояд чӣ вазифаҳоро иҷро кунад, аммо омода аст, ки таҷриба кунад ва натиҷаи дилхоҳро пайваста такмил диҳад ва пайваста ба он наздик шавад;
Менеҷери лоиҳа бо хушхабар омад: "Ва акнун мо чолок ҳастем!"
Ё агар шумо танҳо ба фаҳмидани он, ки чӣ гуна шумо метавонед анборҳои нигоҳдорӣ созед - ба буриш хуш омадед!
Масалан, ҳангоми тарҳрезии объекти "квитансия", шумо ба қасамҳои шӯъбаи фурӯш такя карда, имкони амалро муқаррар кардед. як пешбарӣ барои якчанд вазифаҳои чек (вале на баръакс):
Ва пас аз чанд вақт, ҳамкорон стратегияи нави маркетингро ҷорӣ карданд, ки дар он онҳо метавонанд дар як мавқеъ амал кунанд якчанд аксияҳо дар як вақт. Ва акнун шумо бояд ҷадвалҳоро бо роҳи ҷудо кардани муносибат ба объекти алоҳида тағир диҳед.
Ин зиёдатӣ, дар назари аввал, чандирии назаррасро барои тағирот таъмин мекунад. Чунин сохтор на танҳо ба тағйироти ҷиддии пайвандҳои мавҷуда, балки инчунин ба илова кардани пайвандҳои нав таҳаммулпазир мегардад - агар ҳоло мавқеи чек низ ба хазинадоре, ки онро шикастааст, робита дошта бошад, пайдоиши чунин пайванд танҳо хоҳад буд. бе таъсир ба ягон объект ва равандҳои мавҷуда илова бар ҷадвалҳои мавҷуда гардад.
2. Такрори маълумот
Масъалаи дуюме, ки бо меъмории чандир ҳал карда мешавад, камтар аён аст ва дар ҷои аввал хос аст. Андозагирии навъи SCD2 (одиста-охиста тагьир ёфтани андозахои навъи дуюм), гарчанде на танхо онхо.
Дар анбори классикӣ, андоза одатан ҷадвалест, ки дорои калиди ивазкунанда (ҳамчун PK) ва маҷмӯи калидҳои корӣ ва атрибутҳо дар сутунҳои алоҳида мебошад.
Агар андозагирӣ нусхабардориро дастгирӣ кунад, ба маҷмӯи стандартии майдонҳо ҳудуди эътибори версия илова карда мешавад ва якчанд версияҳо дар репозиторий барои як сатри манбаъ пайдо мешаванд (якто барои ҳар як тағирот дар атрибутҳои версиявӣ).
Агар андоза ақаллан як атрибути зудтағйиршавандаи версияро дар бар гирад, шумораи версияҳои чунин андоза таъсирбахш хоҳад буд (ҳатто агар атрибутҳои боқимонда версия набошанд ё ҳеҷ гоҳ тағир наёбанд) ва агар якчанд чунин атрибутҳо вуҷуд дошта бошанд, шумораи версияҳо метавонанд аз шумораи онхо ба таври экспоненциалй меафзояд. Ин андоза метавонад миқдори зиёди фазои дискро ишғол кунад, гарчанде ки қисми зиёди маълумоте, ки он нигоҳ медорад, танҳо такрори арзишҳои атрибутҳои тағирнопазир аз сатрҳои дигар мебошанд.
В Модели лангар ҷадвалҳое, ки калидҳоро нигоҳ медоранд, номида мешаванд Лангар. Ва нигоҳ медоранд:
Танҳо калидҳои ивазкунанда
Истинод ба манбаъ
Вақти иловаро сабт кунед
Калидҳои табиӣ аз нуқтаи назари модели Anchor баррасӣ карда мешаванд хосиятҳои оддӣ. Ин вариант метавонад фаҳмиши душвортар ба назар расад, аммо он барои муайян кардани объект имконият медиҳад.
Масалан, агар маълумот дар бораи як объект аз системаҳои гуногун гирифта шавад, ки ҳар кадоми онҳо калиди табиии худро истифода мебаранд. Дар Data Vault, ин метавонад ба сохторҳои хеле душвори якчанд марказҳо оварда расонад (якто барои як манбаъ + версияи ягонаи усто), дар ҳоле ки дар модели Anchor калиди табиии ҳар як манбаъ ба атрибути худ меафтад ва онро ҳангоми боркунӣ новобаста аз он истифода бурдан мумкин аст. хамаи дигарон.
Аммо дар ин ҷо як нуктаи маккорона низ ҳаст: агар атрибутҳои системаҳои гуногун дар як объект муттаҳид шаванд, эҳтимол дорад, ки баъзе қоидаҳои "часпидан", ки тавассути он система бояд фаҳмад, ки сабтҳо аз сарчашмаҳои гуногун ба як мисоли объект мувофиқат мекунанд.
В Хазинаи маълумот ин қоидаҳо эҳтимолан ташаккулро муайян мекунанд "маркази суррогатӣ" -и субъекти асосӣ ва ба ҳеҷ ваҷҳ ба Hubs, ки калидҳои манбаи табиӣ ва атрибутҳои аслии онҳоро нигоҳ медоранд, таъсир намерасонад. Агар дар ягон лаҳза қоидаҳои якҷояшавӣ тағир ёбад (ё атрибутҳое, ки тавассути онҳо он иҷро карда мешавад, нав карда шавад), он барои аз нав формат кардани марказҳои суррогат кофӣ хоҳад буд.
В Модели лангар чунин объект эҳтимолан дар он нигоҳ дошта мешавад ягона лангар. Ин маънои онро дорад, ки тамоми сифатҳо, новобаста аз он, ки аз кадом сарчашма гирифта мешаванд, ба ҳамон ивазкунанда баста мешаванд. Ҷудо кардани сабтҳои нодуруст муттаҳидшуда ва дар маҷмӯъ, мониторинги аҳамияти муттаҳидшавӣ дар чунин система метавонад хеле мушкилтар бошад, хусусан агар қоидаҳо хеле мураккаб бошанд ва зуд-зуд тағйир ёбанд ва як атрибутро аз манбаъҳои гуногун ба даст овардан мумкин аст (гарчанде ки он албатта имконпазир аст, зеро ҳар як версияи атрибутӣ истиноди манбаи худро нигоҳ медорад).
Дар ҳар сурат, агар системаи шумо бояд ин функсияро амалӣ кунад нусхабардорӣ, якҷоя кардани сабтҳо ва дигар унсурҳои MDM, бояд диққати махсус ба ҷанбаҳои нигоҳдории калидҳои табиӣ дар методологияи agile дода шавад. Эҳтимол дорад, ки тарҳи калонтари Data Vault ногаҳон аз ҷиҳати хатогиҳои якҷоя бехатартар хоҳад буд.
Модели лангар инчунин намуди объекти иловагии ном дорад Гирех аслан махсус аст намуди таназзули лангар, ки метавонад танҳо як атрибут дошта бошад. Гиреҳҳо бояд барои нигоҳ доштани маълумотномаҳои ҳамвор истифода шаванд (масалан, ҷинс, вазъи оилавӣ, категорияи хидматрасонии муштариён ва ғайра). Баръакси Лангар, гиреҳ ҷадвалҳои атрибутҳои алоқаманд надорад, ва ягона атрибути он (ном) ҳамеша дар як ҷадвал бо калид нигоҳ дошта мешавад. Гиреҳҳо бо лангарҳо тавассути ҷадвалҳои галстук (Галстук) ба ҳамон тарзе пайваст карда мешаванд, ки лангарҳо ба ҳамдигар пайваст мешаванд.
Дар бораи истифодаи гиреҳҳо фикри дақиқ вуҷуд надорад. Барои намуна, Николай Голов, ки фаъолона истифода бурдани модели Anchor дар Русияро таблиғ мекунад, боварӣ дорад (беасос нест), ки на як китоби маълумотномаро бо итминон метавон гуфт, ки он ҳамеша статикӣ ва яксатҳи хоҳад буд, аз ин рӯ беҳтар аст, ки фавран барои ҳама объектҳо як Anchor-и мукаммалро истифода баред.
Фарқи дигари муҳими байни Data Vault ва модели Anchor мавҷудият аст хосиятҳои пайвастшавӣ:
Ҳангоми кор бо андозаҳои калон, ҳама атрибутҳои он қариб ҳеҷ гоҳ дар як вақт истифода намешаванд. Ин маънои онро дорад, ки метавонад камтар пайвастшавӣ вуҷуд дошта бошад, назар ба он ки дар назари аввал дар модел ба назар мерасад. Data Vault инчунин метавонад басомади интизории мубодиларо ҳангоми тақсим кардани атрибутҳо ба моҳвораҳо ба назар гирад. Ҳамзамон, худи Hub ё Anchors пеш аз ҳама барои тавлид ва харитасозии суррогатҳо дар марҳилаи боркунӣ лозиманд ва дар дархостҳо хеле кам истифода мешаванд (ин махсусан барои Anchors дуруст аст).
Ҳама пайвастшавӣ бо калид анҷом дода мешавад. Илова бар ин, тарзи бештар «фишурдашудаи» нигоҳдории маълумот хароҷоти сканкунии ҷадвалҳоро дар ҷое, ки он лозим аст, кам мекунад (масалан, ҳангоми филтркунӣ аз рӯи арзиши атрибут). Ин метавонад ба он оварда расонад, ки интихоб аз пойгоҳи додаҳои муқарраршуда бо як қатор пайвастҳо ҳатто зудтар аз скан кардани як андозагирии вазнин бо версияҳои зиёде дар як сатр хоҳад буд.
Масалан, дар ин чо ин Дар мақола санҷиши муфассали муқоисавии иҷрои модели Anchor бо намуна аз як ҷадвал оварда шудааст.
Бисёр чиз аз муҳаррик вобаста аст. Бисёр платформаҳои муосир механизмҳои оптимизатсияи дохилӣ доранд. Масалан, MS SQL ва Oracle метавонанд пайвастшавиро ба ҷадвалҳо "гузаранд", агар маълумоти онҳо ба истиснои пайвастҳои дигар дар ягон ҷо истифода нашавад ва ба интихоби ниҳоӣ (ҷадвал/барҳамдиҳии ҳамроҳшавӣ) ва MPP Vertica таъсир нарасонад. таҷрибаи ҳамкорони аз Avito, бо назардошти баъзе оптимизатсияи дастӣ нақшаи дархост, як муҳаррики аъло барои модели Anchor собит кардааст. Аз тарафи дигар, нигоҳдории Модели Anchor, масалан, дар Click House, ки дастгирии маҳдуди ҳамроҳ дорад, ҳанӯз як идеяи хуб ба назар намерасад.
Илова бар ин, барои ҳарду меъморӣ вуҷуд дорад ҳаракатҳои махсус, осон кардани дастрасии маълумот (ҳам аз нуқтаи назари иҷрои дархост ва ҳам барои корбарони ниҳоӣ). Барои намуна, Ҷадвалҳои "Нукта дар вақт" дар махзани маълумот ё функсияҳои махсуси ҷадвал дар модели Anchor.
Пас аз чанд омодагии ибтидоии марбут ба густариши метамаълумотҳо ва навиштани алгоритмҳои асосии ETL, зуд ба мизочон натичаи аввалинро таъмин намояд дар шакли якчанд гузоришҳо, ки дорои маълумот аз якчанд объектҳои манбаъ мебошанд. Барои пурра фикр кардан (ҳатто дар сатҳи боло) тамоми модели объект шарт нест.
Модели маълумот метавонад танҳо бо 2-3 объект ба кор шурӯъ кунад (ва муфид бошад) ва баъд тадричан афзояд (дар бораи модели Анкор Николай татбиқ карда шуд муқоисаи хуб бо mycelium).
Аксари такмилҳо, аз ҷумла васеъ кардани майдони мавзӯъ ва илова кардани манбаъҳои нав ба функсияҳои мавҷуда таъсир намерасонад ва хатари шикастани чизе, ки аллакай кор мекунад, вуҷуд надорад.