Izi sizikutanthauza kuti ndondomeko yachitukuko ndi dongosolo la malo osungiramo deta ndizosagwirizana. Ponseponse, ziyenera kukhala zophweka kwambiri kupanga chosungira cha Agile cha zomangamanga zakale. Komabe, m'kuchita, nthawi zambiri pamakhala zosankha ndi chitukuko cha Agile cha DWH yachikale molingana ndi Kimbal ndi DataVault - malinga ndi Waterfall, kusiyana ndi zochitika zosangalatsa za kusinthasintha kwa mitundu iwiri ya polojekiti imodzi.
Pansipa ndiwona njira ziwiri zodziwika bwino zamapangidwe osungira ma data - Nangula chitsanzo ΠΈ Data Vault. Zotsalira m'mabokosi ndi njira zabwino kwambiri monga, mwachitsanzo, EAV, 6NF (mu mawonekedwe ake enieni) ndi chirichonse chokhudzana ndi mayankho a NoSQL - osati chifukwa chakuti iwo ali oipitsitsa, ndipo ngakhale chifukwa nkhaniyi ingawopsyeze kupeza. voliyumu ya wamba wamba. Kungoti zonsezi zikugwirizana ndi mayankho a kalasi yosiyana pang'ono - mwina njira zomwe mungagwiritse ntchito pazinthu zinazake, mosasamala kanthu za kamangidwe ka polojekiti yanu (monga EAV), kapena ma paradigms ena osungira zidziwitso padziko lonse lapansi (monga ma graph database). ndi zosankha zina NoSQL).
Mavuto a njira ya "classical" ndi mayankho awo munjira zosinthika
Pogwiritsa ntchito njira ya "classic" ndikutanthauza nyenyezi yabwino yakale (mosasamala kanthu za kukhazikitsidwa kwapadera kwa zigawo zapansi, mulole otsatira Kimball, Inmon ndi CDM andikhululukire).
1. Kukhazikika kwamphamvu kwa kulumikizana
Chitsanzochi chimachokera pa kugawanitsa bwino kwa deta Dimension ΠΈ mfundo. Ndipo izi, mwatsoka, ndizomveka - pambuyo pake, kusanthula deta muzochitika zambiri kumatsikira pakuwunika zizindikiro zina (zowona) m'magawo ena (miyeso).
Pankhaniyi, kugwirizana pakati pa zinthu kumakhazikitsidwa mwa mawonekedwe a maubwenzi pakati pa matebulo pogwiritsa ntchito kiyi yachilendo. Izi zikuwoneka mwachilengedwe, koma nthawi yomweyo zimabweretsa kuchepa koyamba kwa kusinthasintha - tanthauzo okhwima la cardinality kugwirizana.
Izi zikutanthauza kuti pagawo la mapangidwe a tebulo, muyenera kudziwa molondola pagulu lililonse lazinthu zofananira ngati zingagwirizane ndi zambiri, kapena 1 mpaka zambiri, ndi "njira iti". Izi zimatsimikizira mwachindunji kuti ndi tebulo liti lomwe lidzakhala ndi kiyi yoyamba ndi yomwe idzakhale ndi kiyi yakunja. Kusintha kaganizidwe kameneka pamene zofunikira zatsopano zilandiridwa kungapangitse kukonzanso maziko.
Mwachitsanzo, popanga chinthu cha "chiphaso cha ndalama", inu, kudalira malumbiro a dipatimenti yogulitsa malonda, munaika mwayi wochitapo kanthu. kukwezedwa kumodzi pamacheke angapo (koma osati mosemphanitsa):
Kawirikawiri izi zimabweretsa zomwezo zimasungidwa nthawi imodzi m'malo angapo. Mwachitsanzo, zambiri za dera lomwe mukukhala ndi gulu la kasitomala zitha kusungidwa nthawi imodzi mumiyeso ya "Client" ndi "Purchase", "Delivery" ndi "Call Center Calls", komanso mu "Client - Client Manager". β link table.
Nthawi zambiri, zomwe tafotokozazi zimagwira ntchito pamiyeso yokhazikika (yosasinthidwa), koma m'matembenuzidwe amatha kukhala ndi sikelo yosiyana: mawonekedwe a chinthu chatsopano (makamaka m'mbuyo) amangotsogolera osati kungosintha kwazinthu zonse zogwirizana. matebulo, koma kukuwonekera kwazinthu zatsopano zofananira - pamene Table 1 imagwiritsidwa ntchito pomanga Table 2, ndipo Table 2 imagwiritsidwa ntchito pomanga Table 3, etc. Ngakhale ngati palibe lingaliro limodzi la Table 1 lomwe likukhudzidwa pakumanga Table 3 (ndi zina za Table 2 zopezedwa kuchokera kuzinthu zina zikukhudzidwa), kumasulira kumeneku kudzatsogolera kumutu wowonjezera, komanso pamlingo wokulirapo mpaka wowonjezera. zomasulira mu Table 3. zomwe ziribe kanthu kochita nazo konse, ndi kupitirira pansi pa unyolo.
3. Kuvuta kopanda mzere wa rework
Panthawi imodzimodziyo, sitolo iliyonse yatsopano yomangidwa pamaziko a ina imawonjezera chiwerengero cha malo omwe deta "ikhoza "kusiyana" pamene kusintha kwa ETL. Izi, zimabweretsa kuwonjezeka kwa zovuta (ndi nthawi) ya kukonzanso kotsatira.
Kusunga zinthu ndi mawonekedwe mu Data Vault ndi Anchor Model
Njira yomwe alemba olemba ma flexible architecture atha kupangidwa motere:
Ndikofunikira kulekanitsa zomwe zikusintha kuchokera ku zomwe zimakhalabe zomwezo. Ndiko kuti, sungani makiyi mosiyana ndi mawonekedwe.
Komabe, munthu sayenera kusokoneza osasinthidwa chikhalidwe ndi zosasinthika: choyamba sichisunga mbiri ya kusintha kwake, koma ikhoza kusintha (mwachitsanzo, pokonza zolakwika zolowetsa kapena kulandira deta yatsopano); yachiwiri sichimasintha.
Mawonedwe amasiyana pa zomwe kwenikweni zitha kuonedwa ngati zosasinthika mu Data Vault ndi Anchor Model.
Kuchokera pamalingaliro omanga Data Vault, akhoza kuonedwa ngati wosasintha makiyi onse - zachilengedwe (TIN ya bungwe, kachidindo kazinthu mumayendedwe oyambira, ndi zina) ndi surrogate. Pankhaniyi, makhalidwe otsala akhoza kugawidwa m'magulu malinga ndi gwero ndi / kapena pafupipafupi kusintha ndi Sungani tebulo lapadera la gulu lirilonse ndi mitundu yodziyimira payokha.
Mu paradigm Anchor Model zimaganiziridwa zosasinthika chinsinsi chokhachokha zenizeni. Zina zonse (kuphatikiza makiyi achilengedwe) ndi nkhani yapadera chabe yazikhalidwe zake. Kumeneko zikhumbo zonse ndizodziyimira pawokha mwa kusakhazikika, kotero pa chikhalidwe chilichonse a osiyana tebulo.
Π Data Vault matebulo omwe ali ndi makiyi azinthu amatchedwa Hubami. Ma Hubs nthawi zonse amakhala ndi magawo okhazikika:
Natural Entity Keys
surrogate key
Lumikizani ku gwero
Lembani nthawi yowonjezera
Zolemba mu Hubs osasintha ndipo alibe zomasulira. Kunja, ma hubs ndi ofanana kwambiri ndi matebulo amtundu wa ID-mapu omwe amagwiritsidwa ntchito m'makina ena kuti apange olowa, komabe, tikulimbikitsidwa kugwiritsa ntchito hashi kuchokera pagulu la makiyi abizinesi ngati surrogates mu Data Vault. Njirayi imathandizira kutsitsa maubwenzi ndi zikhalidwe kuchokera ku magwero (palibe chifukwa cholowa m'malo kuti mutenge wina, ingowerengerani hashi ya kiyi yachilengedwe), koma imatha kuyambitsa zovuta zina (zokhudzana, mwachitsanzo, kugundana, milandu komanso kusasindikiza. zilembo zamakiyi a zingwe, ndi zina .p.), chifukwa chake sichivomerezedwa.
Makhalidwe ena onse amasungidwa mu matebulo apadera otchedwa Masatilaiti. Malo amodzi amatha kukhala ndi ma satellite angapo omwe amasunga mawonekedwe osiyanasiyana.
Kugawidwa kwa makhalidwe pakati pa ma satellites kumachitika molingana ndi mfundo kusintha kwa mgwirizano - mu satellite imodzi zomwe sizinasinthidwe zimatha kusungidwa (mwachitsanzo, tsiku lobadwa ndi SNILS kwa munthu), kwina - zomwe sizisintha kawirikawiri (mwachitsanzo, dzina lomaliza ndi nambala ya pasipoti), lachitatu - zosintha pafupipafupi. (mwachitsanzo, adilesi yotumizira, gulu, tsiku lomaliza, ndi zina). Pankhaniyi, kumasulira kumachitika pamlingo wa ma satelayiti, osati gulu lonse, chifukwa chake ndikofunikira kugawa mawonekedwe kuti mphambano ya matembenuzidwe mkati mwa satellite imodzi ikhale yochepa (yomwe imachepetsa kuchuluka kwa matembenuzidwe osungidwa. ).
Π Nangula chitsanzo Kulumikizana sikungakhale ndi zikhumbo zake, kotero njira iyi siigwira ntchito - zikhumbo zonse ndi zizindikiro ziyenera kugwirizana ndi nangula wina. Mapeto ake ndi osavuta - Mfundo iliyonse imafunikiranso nangula wake. Kwa zina zomwe tazolowera kuziwona ngati zowona, izi zitha kuwoneka mwachilengedwe - mwachitsanzo, kugula kumatha kuchepetsedwa kukhala chinthu "kuyitanitsa" kapena "chiphaso", kuyendera tsamba ku gawo, ndi zina zambiri. Koma palinso mfundo zomwe sizili zophweka kupeza "chinthu chonyamulira" chachilengedwe - mwachitsanzo, zotsalira za katundu m'nyumba zosungiramo katundu kumayambiriro kwa tsiku lililonse.
Chifukwa chake, zovuta zokhala ndi ma modularity pakukulitsa kiyi mu mtundu wa Anchor sizimatuluka (ndikokwanira kungowonjezera Ubale Watsopano ku Nangula wofananira), koma kupanga chitsanzo kuti muwonetse zowona sikumveka bwino; Nangula "zopanga" zitha kuwoneka. zomwe zikuwonetsa mtundu wabizinesi m'njira yosadziwika bwino.
Momwe kusinthasintha kumatheka
Chotsatira chomangidwa muzochitika zonsezi chili ndi kwambiri matebulokuposa muyeso wachikhalidwe. Koma zikhoza kutenga malo ochepa kwambiri a disk ndi seti yofanana ya zosinthidwa monga momwe zimakhalira kale. Mwachilengedwe, palibe zamatsenga pano - zonse ndi za normalization. Pogawira zikhalidwe pa Satellite (mu Data Vault) kapena matebulo paokha (Anchor Model), timachepetsa (kapena kuchotseratu) kubwereza kwa zikhalidwe zina posintha zina.
chifukwa Data Vault zopindula zidzadalira kugawidwa kwa makhalidwe pakati pa Satellite, ndi kwa Nangula chitsanzo - pafupifupi molingana mwachindunji ndi kuchuluka kwa mitundu pa chinthu chilichonse choyezera.
Komabe, kupulumutsa malo ndikofunikira, koma osati chachikulu, mwayi wosungirako padera. Pamodzi ndi kusungirako kosiyana kwa maubwenzi, njira iyi imapanga sitolo kapangidwe ka modular. Izi zikutanthauza kuti kuwonjezera zomwe aliyense payekha komanso magawo atsopano amtundu wotere amawonekera superstructure pa gulu la zinthu zomwe zilipo popanda kuzisintha. Ndipo izi ndizomwe zimapangitsa kuti njira zomwe zafotokozedwazo zikhale zosinthika.
Izi zikufanananso ndi kusintha kuchokera ku kupanga zidutswa kupita ku kupanga zochuluka - ngati mwachikhalidwe tebulo lililonse lachitsanzo ndi lapadera ndipo limafunikira chidwi chapadera, ndiye kuti munjira zosinthika ndi kale "gawo" lokhazikika. Kumbali imodzi, pali matebulo ochulukirapo, ndipo njira zotsitsa ndi kubweza deta ziyenera kuwoneka zovuta kwambiri. Kumbali ina, iwo amakhala wamba. Zomwe zikutanthauza kuti pakhoza kukhala makina opangidwa ndi metadata. Funso lakuti "tidzayiyika bwanji?", Yankho lomwe lingathe kutenga gawo lalikulu la ntchito yokonza zokonza, tsopano silili lofunika (komanso funso lokhudza kusintha kwachitsanzo pazochitika zogwirira ntchito. ).
Izi sizikutanthauza kuti openda sakufunika m'dongosolo loterolo - wina akufunikabe kuti agwiritse ntchito zinthu zomwe zili ndi zikhumbo ndikudziwa komwe anganyamulire zonse. Koma kuchuluka kwa ntchito, komanso mwayi ndi mtengo wa zolakwika, zimachepetsedwa kwambiri. Ponseponse pakuwunika komanso pakupanga ETL, yomwe gawo lalikulu limatha kuchepetsedwa kukhala metadata yosintha.
Pogwira ntchito ndi miyeso yayikulu, mawonekedwe ake onse sagwiritsidwa ntchito nthawi imodzi. Izi zikutanthauza kuti pakhoza kukhala zolumikizana zochepa kuposa momwe zimawonekera poyang'ana koyamba. Data Vault imathanso kuganizira kuchuluka kwa kugawana komwe kumayembekezeredwa pogawira ma satellite. Nthawi yomweyo, ma Hub kapena Anchors omwe amafunikira makamaka popanga ndi kupanga ma surrogates potsitsa ndipo sagwiritsidwa ntchito kawirikawiri pamafunso (izi ndizoona makamaka kwa Anchors).
Malumikizidwe onse ndi makiyi. Kuphatikiza apo, njira yosungiramo zambiri "yopanikizidwa" imachepetsa kuchuluka kwa matebulo ojambulira pomwe ikufunika (mwachitsanzo, posefa ndi mtengo wake). Izi zitha kupangitsa kuti sampuli kuchokera pankhokwe yokhazikika yokhala ndi zolumikizira zambiri zitha kukhala mwachangu kuposa kusanthula gawo limodzi lolemera ndi mitundu yambiri pamzere uliwonse.
Mwachitsanzo, apa izi Nkhaniyi ili ndi mayeso ofananiza atsatanetsatane a momwe Anchor amagwirira ntchito ndi chitsanzo kuchokera patebulo limodzi.
Zambiri zimatengera injini. Mapulatifomu ambiri amakono ali ndi njira zolumikizirana mkati. Mwachitsanzo, MS SQL ndi Oracle "akhoza kudumpha" kujowina kumatebulo ngati deta yawo sikugwiritsidwa ntchito paliponse kupatula zojowina zina ndipo sizikhudza kusankha komaliza (kuchotsa tebulo/kujowina), ndi MPP Vertica. zochitika za ogwira nawo ntchito ku Avito, yatsimikizira kuti ndi injini yabwino kwambiri ya Anchor Model, kutengera kukhathamiritsa kwapamanja kwa dongosolo lamafunso. Kumbali ina, kusunga Chitsanzo cha Anchor, mwachitsanzo, pa Click House, yomwe ili ndi chithandizo chochepa cholumikizira, sichikuwoneka ngati lingaliro labwino kwambiri.
Kuonjezera apo, kwa zomangamanga zonse zilipo mayendedwe apadera, kupangitsa kuti kupezeka kwa data kukhale kosavuta (zonse kuchokera pamachitidwe a mafunso komanso kwa ogwiritsa ntchito kumapeto). Mwachitsanzo, Matebulo a Point-In-Time mu Data Vault kapena ntchito yapadera tebulo mu chitsanzo cha Anchor.
Chiwerengero
Chofunikira chachikulu cha zomangamanga zomwe zimaganiziridwa kuti ndi zosinthika ndikusintha kwa "mapangidwe" awo.
Ndi katundu uyu amene amalola:
Pambuyo pokonzekera koyambirira kokhudzana ndi kutumizidwa kwa metadata ndikulemba ma algorithms oyambira a ETL, mwamsanga perekani kasitomala ndi zotsatira zoyamba m'njira ya malipoti angapo okhala ndi data kuchokera kuzinthu zochepa chabe. Sikoyenera kuganiza mozama (ngakhale pamlingo wapamwamba) mtundu wonse wa chinthu.
Mtundu wa data ukhoza kuyamba kugwira ntchito (ndi kukhala wothandiza) ndi zinthu 2-3 zokha, ndiyeno kukula pang'onopang'ono (zokhudza chitsanzo cha Anchor Nikolai ntchito Kufananiza bwino ndi mycelium).