Overview sa Agile DWH Design Methodologies

Ang pag-uswag sa pagtipig usa ka taas ug seryoso nga negosyo.

Daghan sa kinabuhi sa usa ka proyekto nagdepende kung unsa ka maayo ang modelo sa butang ug base nga istruktura gihunahuna sa pagsugod.

Ang kasagarang gidawat nga pamaagi nahimo ug nagpabilin nga lainlaing mga kombinasyon sa eskema sa bituon nga adunay ikatulo nga normal nga porma. Ingon sa usa ka lagda, sumala sa prinsipyo: inisyal nga datos - 3NF, nagpakita - usa ka bituon. Kini nga pamaagi, gisulayan sa panahon ug gipaluyohan sa daghang panukiduki, mao ang una (ug usahay ang bugtong) butang nga mosantop sa hunahuna alang sa usa ka eksperyensiyado nga espesyalista sa DWH kung maghunahuna kung unsa ang hitsura sa usa ka analytical repository.

Sa laing bahin, ang negosyo sa kinatibuk-an ug ang mga kinahanglanon sa kostumer sa partikular lagmit nga paspas nga magbag-o, samtang ang datos motubo sa duha "sa giladmon" ug "sa gilapdon". Ug dinhi makita ang nag-unang disbentaha sa bituon - limitado pagka-flexible.

Ug kung sa imong hilom ug hamugaway nga kinabuhi isip developer sa DWH sa kalit:

  • ang buluhaton mitungha "sa pagbuhat sa labing menos usa ka butang sa madali, ug unya atong makita";
  • usa ka paspas nga pag-uswag nga proyekto nagpakita, nga adunay koneksyon sa mga bag-ong gigikanan ug ang pagbag-o sa modelo sa negosyo labing menos kausa sa usa ka semana;
  • ang usa ka kustomer nagpakita nga walay ideya kung unsa ang hitsura sa sistema ug kung unsa nga mga gimbuhaton ang kinahanglan nga buhaton sa katapusan, apan andam alang sa mga eksperimento ug makanunayon nga pagpino sa gitinguha nga sangputanan nga adunay makanunayon nga pamaagi niini;
  • ang manedyer sa proyekto mitan-aw uban ang maayong balita: "Ug karon kami adunay abtik!".

O kung interesado ka lang nga mahibal-an kung giunsa nimo paghimo ang pagtipig - welcome sa iring!

Overview sa Agile DWH Design Methodologies

Unsay buot ipasabot sa "flexibility"?

Sa pagsugod, atong ipasabut kung unsa nga mga kabtangan ang kinahanglan adunay usa ka sistema aron matawag nga "flexible".

Sa tagsa-tagsa, angay nga isulti nga ang gihulagway nga mga kabtangan kinahanglan nga piho nga nagtumong sa sistema, dili sa proseso paglambo niini. Busa, kung gusto nimong basahon ang Agile isip pamaagi sa pag-uswag, mas maayo nga basahon ang ubang mga artikulo. Pananglitan, didto mismo, sa Habré, adunay daghang makapaikag nga mga materyales (sama sa pagrepaso и praktikal, ug problemado).

Wala kini magpasabut nga ang proseso sa pag-uswag ug ang istruktura sa data warehouse hingpit nga wala’y kalabutan. Sa kinatibuk-an, ang Agile nga pagpalambo sa usa ka agile storage kinahanglan nga mas sayon. Bisan pa, sa praktis, adunay daghang mga kapilian nga adunay Agile nga pag-uswag sa klasiko nga DWH sumala sa Kimbal ug DataVault - sumala sa talon kaysa malipayon nga mga sulagma sa pagka-flexible sa duha nga mga porma sa usa ka proyekto.

Busa, unsa nga mga bahin ang kinahanglan adunay flexible storage? Adunay tulo ka punto dinhi:

  1. Sayo nga pagpadala ug paspas nga pagkompleto - kini nagpasabot nga ang una nga resulta sa negosyo (pananglitan, ang unang mga taho sa pagtrabaho) kinahanglan nga makuha sa sayo kutob sa mahimo, nga mao, bisan sa wala pa ang tibuok nga sistema gidisenyo ug gipatuman. Sa samang higayon, ang matag sunod nga rebisyon kinahanglan usab nga mogahin og gamay nga panahon kutob sa mahimo.
  2. Nagbalikbalik nga pagdalisay - kini nagpasabot nga ang matag sunod-sunod nga rebisyon, sa labing maayo, kinahanglan nga dili makaapekto sa nagtrabaho na nga pagpaandar. Kini nga higayon nga kanunay nahimo nga labing kadaghan nga damgo sa dagkong mga proyekto - sa madugay o sa madali ang mga indibidwal nga mga butang magsugod sa pag-angkon sa daghang mga relasyon nga mahimong dali nga hingpit nga balikon ang lohika sa usa ka kopya nga magkatabi kaysa pagdugang usa ka uma sa usa ka naa na nga lamesa. Ug kung nahingangha ka nga ang pag-analisar sa epekto sa mga pag-uswag sa mga naa na nga mga butang mahimo’g magdugay kaysa sa rebisyon mismo, lagmit wala ka nagtrabaho sa daghang mga bodega sa datos sa banking o telecom.
  3. Kanunay nga pagpahiangay sa pagbag-o sa mga kinahanglanon sa negosyo - ang kinatibuk-ang istruktura sa butang kinahanglan nga gidisenyo dili lamang sa pagkonsiderar sa posible nga pagpalapad, apan uban ang pagpaabut nga ang direksyon sa sunod nga pagpalapad dili bisan pa madamgo sa yugto sa disenyo.

Ug oo, ang pagsunod sa tanan niini nga mga kinahanglanon sa usa ka sistema posible (siyempre, sa pipila ka mga kaso ug sa pipila ka mga reserbasyon).

Sa ubos akong ribyuhon ang duha sa pinakasikat nga agile design methodologies para sa HD - modelo sa angkla и Data Vault. Sa gawas sa mga braket adunay maayo kaayo nga mga limbong sama sa, pananglitan, EAV, 6NF (sa lunsay nga porma) ug tanan nga may kalabutan sa mga solusyon sa NoSQL - dili tungod kay kini labi ka grabe, ug dili bisan tungod kay sa kini nga kaso ang artikulo maghulga nga makuha ang gidaghanon. sa kasagaran nga disser. Kini ra nga kining tanan nagtumong sa mga solusyon sa usa ka gamay nga lahi nga klase - bisan sa mga teknik nga mahimo nimong magamit sa mga piho nga kaso, bisan unsa pa ang kinatibuk-ang arkitektura sa imong proyekto (sama sa EAV), o sa lainlaing mga paradigma sa pagtipig sa impormasyon sa tibuuk kalibutan (sama sa mga database sa graph. ug uban pang mga kapilian). NoSQL).

Ang mga problema sa "klasikal" nga pamaagi ug ang ilang mga solusyon sa flexible nga mga pamaagi

Pinaagi sa "klasiko" nga pamaagi gipasabut nako ang maayo nga daan nga bituon (bisan pa sa piho nga pagpatuman sa nagpahiping mga lut-od, pasayloa ako nga mga sumusunod sa Kimball, Inmon ug CDM).

1. Rigid cardinality sa mga koneksyon

Kini nga modelo gibase sa usa ka tin-aw nga pagbahin sa datos ngadto sa mga sukod (Dimensyon) и kamatuoran (Fact). Ug kini, daotan, makatarunganon - pagkahuman, ang pag-analisar sa datos sa kadaghanan sa mga kaso moabut sa pag-analisar sa pipila nga mga indikasyon sa numero (mga kamatuoran) sa pipila nga mga seksyon (mga sukat).

Sa samang higayon, ang mga sumpay tali sa mga butang gibutang sa porma sa mga sumpay tali sa mga lamesa pinaagi sa langyaw nga yawe. Kini tan-awon medyo natural, apan diha-diha dayon mitultol ngadto sa unang limitasyon sa pagka-flexible - higpit nga kahulugan sa kardinalidad sa mga relasyon.

Kini nagpasabot nga sa yugto sa disenyo sa mga lamesa, kinahanglan nimong ipiho para sa matag parisan sa mga may kalabutan nga mga butang kon sila mahimong may kalabutan sa daghan-sa-daghan, o 1-sa-daghan lamang, ug "sa asa nga direksyon". Direkta kini nga nagdepende kung kinsa sa mga lamesa ang adunay panguna nga yawe ug kung kinsa ang adunay usa ka langyaw nga yawe. Ang pagbag-o sa kini nga ratio kung madawat ang bag-ong mga kinahanglanon lagmit nga mosangput sa pag-rework sa base.

Pananglitan, kung nagdesinyo sa butang nga "resibo sa salapi", ikaw, nga nagsalig sa gipanumpaan nga mga kasiguruhan sa departamento sa pagbaligya, nagbutang sa posibilidad sa aksyon usa ka promosyon alang sa daghang mga posisyon sa pagsusi (apan dili vice versa):

Overview sa Agile DWH Design Methodologies
Ug sa wala madugay, ang mga kauban nagpaila sa usa ka bag-ong estratehiya sa pagpamaligya diin daghang mga promosyon sa parehas nga oras. Ug karon kinahanglan nimo nga tapuson ang mga lamesa pinaagi sa pag-highlight sa relasyon sa usa ka lahi nga butang.

(Ang tanan nga nakuha nga mga butang, diin ang promo check nag-apil, karon kinahanglan usab nga pauswagon).

Overview sa Agile DWH Design Methodologies
Mga link sa Data Vault ug Anchor Model

Kini nahimo nga yano ra aron malikayan ang ingon nga sitwasyon: dili nimo kinahanglan nga mosalig sa departamento sa pagbaligya, igo na tanan nga mga relasyon sa sinugdan gitipigan sa bulag nga mga lamesa ug proseso sama sa daghan-sa-daghan.

Kini nga pamaagi gisugyot Dan Linstedt isip kabahin sa paradigm Data Vault ug bug-os nga gisuportahan Lars Rönnbäck в Angkla nga Modelo.

Ingon usa ka sangputanan, nakuha namon ang una nga lahi nga bahin sa nabag-o nga mga pamaagi:

Ang mga relasyon tali sa mga butang wala gitipigan sa mga kinaiya sa ginikanan nga mga entidad, apan usa ka lahi nga tipo sa mga butang.

В Data Vault ang ingon nga mga lamesa gitawag linkug sa Angkla nga Modelo - tie. Sa una nga pagtan-aw, sila parehas kaayo, bisan kung ang ilang mga kalainan wala mahurot sa ngalan (nga hisgutan sa ubos). Sa duha ka mga arkitektura, ang mga lamesa sa link mahimong mag-link bisan unsang gidaghanon sa mga entidad (dili kinahanglan 2).

Kini sa una nga pagtan-aw nga redundancy naghatag hinungdanon nga pagka-flexible sa mga pagkompleto. Ang ingon nga istruktura nahimong tolerant dili lamang sa pagbag-o sa mga kardinal sa naa na nga mga link, apan usab sa pagdugang sa mga bag-o - kung karon ang usa ka posisyon sa tseke adunay usa usab ka link sa cashier nga nagbuak niini, ang hitsura sa ingon nga link mahimo’g usa ka superstructure. ibabaw sa kasamtangan nga mga lamesa nga dili makaapekto sa bisan unsang anaa nga mga butang ug proseso.

Overview sa Agile DWH Design Methodologies

2. Pagdoble sa datos

Ang ikaduha nga problema nga nasulbad pinaagi sa flexible nga mga arkitektura dili kaayo klaro ug kinaiyanhon sa una. matang sa pagsukod SCD2 (hinayhinay nga pagbag-o sa mga sukod sa ikaduha nga tipo), bisan kung dili lamang sila.

Sa klasiko nga pagtipig, ang usa ka dimensyon kasagaran usa ka lamesa nga adunay sulud nga puli nga yawe (isip PK) ug usa ka hugpong sa mga yawe sa negosyo ug mga hiyas sa lainlaing mga kolum.

Overview sa Agile DWH Design Methodologies

Kung ang dimensyon nagsuporta sa pag-bersyon, ang mga limitasyon sa oras sa bersyon idugang sa sukaranan nga set sa mga uma, ug daghang mga bersyon ang makita sa repository matag laray sa gigikanan (usa alang sa matag pagbag-o sa mga gi-bersyon nga mga kinaiya).

Kung ang usa ka dimensyon adunay labing menos usa ka bersyon nga kinaiya nga kanunay nga nagbag-o, ang gidaghanon sa mga bersyon sa ingon nga usa ka dimensyon mahimong impresibo (bisan kung ang uban nga mga hiyas dili bersyon o dili gyud mausab), ug kung adunay daghang ingon nga mga kinaiya, ang gidaghanon sa mga bersyon mahimong motubo nga eksponensyal gikan sa ilang gidaghanon. Ang ingon nga dimensyon mahimo’g makakuha usa ka hinungdanon nga kantidad sa wanang sa disk, bisan kung kadaghanan sa mga datos nga gitipigan niini yano nga mga duplicate sa dili mabag-o nga mga kantidad sa hiyas gikan sa ubang mga laray.

Overview sa Agile DWH Design Methodologies

Sa samang higayon, kini usab kanunay nga gigamit denormalisasyon - pipila sa mga hiyas gituyo nga gitipigan isip usa ka bili, ug dili isip usa ka pakisayran sa usa ka reference nga libro o laing dimensyon. Kini nga pamaagi nagpadali sa pag-access sa datos pinaagi sa pagkunhod sa gidaghanon sa mga pag-apil kung nag-access sa usa ka dimensyon.

Kasagaran, kini moresulta sa ang parehas nga kasayuran gitipigan nga dungan sa daghang mga lugar. Pananglitan, ang impormasyon bahin sa rehiyon sa pinuy-anan ug pagkamiyembro sa kategorya sa kostumer mahimong dungan nga tipigan sa "Customer" nga mga sukat ug ang "Pagpalit", "Paghatud" ug "Mga Kontak sa Call Center", ingon man sa "Customer - Customer Manager" nga lamesa sa link.

Sa kinatibuk-an, ang sa ibabaw magamit sa mga regular (dili-bersiyon) nga mga pagsukod, apan sa mga bersyon mahimo silang adunay lahi nga sukod: ang dagway sa usa ka bag-ong bersyon sa usa ka butang (ilabi na sa pagtan-aw sa ulahi) nagdala dili lamang sa pag-update sa tanan nga may kalabutan nga mga lamesa, apan ngadto sa usa ka cascade nga dagway sa bag-ong mga bersyon sa may kalabutan nga mga butang - sa diha nga ang Table 1 gigamit sa pagtukod sa Table 2, ug ang Table 2 gigamit sa pagtukod sa Table 3, ug uban pa. Bisan kung wala'y usa ka kinaiya sa Table 1 ang nalambigit sa pagtukod sa Table 3 (ug uban pang mga kinaiya sa Table 2 nga nakuha gikan sa ubang mga tinubdan ang nalangkit), ang pag-bersiyon niini nga konstruksyon labing menos mosangpot sa dugang nga overhead, ug labaw sa tanan ngadto sa dugang. mga bersyon sa Talaan 3, nga sa kasagaran "wala'y labot niini" ug labi pa sa kadena.

Overview sa Agile DWH Design Methodologies

3. Dili linear nga pagkakomplikado sa pagpino

Sa parehas nga oras, ang matag bag-ong storefront nga gitukod sa ibabaw sa lain nagdugang sa gidaghanon sa mga lugar diin ang datos mahimong "maglainlain" kung ang mga pagbag-o gihimo sa ETL. Kini, sa baylo, modala ngadto sa pagdugang sa pagkakomplikado (ug gidugayon) sa matag sunod nga rebisyon.

Kung ang naa sa ibabaw magamit sa mga sistema nga adunay panagsa ra nga gibag-o nga mga proseso sa ETL, mahimo ka magpuyo sa ingon nga paradigm - siguruha lang nga ang mga bag-ong pagpaayo husto nga gihimo sa tanan nga mga butang nga may kalabutan. Kung kanunay nga mahitabo ang mga pagbag-o, ang posibilidad nga wala’y aksidente nga "nawala" ang daghang mga link labi nga nagdugang.

Kung, dugang pa, gikonsiderar namon nga ang "bersyon" nga ETL labi ka komplikado kaysa sa "dili bersyon", mahimong lisud ang paglikay sa mga sayup sa kanunay nga pagpino sa tibuuk nga ekonomiya.

Pagtipig sa mga butang ug mga hiyas sa Data Vault ug Anchor Model

Ang pamaagi nga gisugyot sa mga tagsulat sa flexible nga mga arkitektura mahimong maporma sama sa mosunod:

Kinahanglan nga ibulag kung unsa ang mga pagbag-o gikan sa kung unsa ang nagpabilin nga wala mausab. Kana mao ang pagtipig sa mga yawe nga lahi sa mga hiyas.

Apan, ayaw paglibog dili versioned hiyas nga adunay walay kausaban: ang una wala magtipig sa kasaysayan sa pagbag-o niini, apan mahimo’g mabag-o (pananglitan, kung gitul-id ang usa ka sayup sa pag-input o nakadawat bag-ong datos), ang ikaduha dili gyud mausab.

Ang mga punto sa pagtan-aw kung unsa gyud ang maisip nga wala mausab sa Data Vault ug ang modelo sa Anchor magkalainlain.

Sa termino sa arkitektura Data Vault, mahimong isipon nga wala mausab ang tibuok hugpong sa mga yawe — natural (TIN sa organisasyon, code sa produkto sa source system, ug uban pa) ug surrogate. Sa parehas nga oras, ang nahabilin nga mga kinaiya mahimong bahinon sa mga grupo sumala sa gigikanan ug / o frequency sa mga pagbag-o ug paghupot og lain nga lamesa alang sa matag grupo nga adunay usa ka independente nga hugpong sa mga bersyon.

Sa samang paradigm Angkla nga Modelo giisip nga wala mausab surrogate key lang mga entidad. Ang tanan nga uban pa (lakip ang natural nga mga yawe) usa lamang ka espesyal nga kaso sa mga kinaiya niini. Diin ang tanan nga mga hiyas independente sa usag usa pinaagi sa default, mao nga alang sa matag hiyas kinahanglang himoon lahi nga lamesa.

В Data Vault Ang mga lamesa nga adunay mga yawe sa entidad gitawag Hubami (Hub). Ang mga hub kanunay adunay usa ka piho nga set sa mga natad:

  • Mga Yawe sa Natural nga Entidad
  • Surrogate Key
  • Link sa tinubdan
  • Oras sa pagrekord

Mga entry sa Hubs dili gayud mag-usab ug walay mga bersyon. Sa gawas, ang mga hub susama kaayo sa mga lamesa sa ID-map nga gigamit sa pipila ka mga sistema aron makamugna og mga surrogates, bisan pa, girekomenda nga gamiton dili usa ka integer sequence, apan usa ka hash gikan sa usa ka set sa mga yawe sa negosyo isip mga surrogates sa Data Vault. Gipasimple niini nga pamaagi ang pagkarga sa mga link ug mga hiyas gikan sa mga tinubdan (dili kinahanglan nga moapil sa hub aron makakuha og surrogate, kuwentaha lang ang hash gikan sa natural nga yawe), apan kini mahimong hinungdan sa ubang mga problema (pananglitan, sa mga bangga, kaso ug dili- pag-imprenta sa mga karakter sa string key, etc. .p.), busa dili kini kasagarang dawaton.

Ang tanan nga uban pang mga entidad nga mga kinaiya gitipigan sa espesyal nga mga lamesa nga gitawag Mga Satellite (Satellit). Ang usa ka hub mahimong adunay daghang mga satelayt nga nagtipig sa lainlaing mga set sa mga hiyas.

Overview sa Agile DWH Design Methodologies

Ang pag-apod-apod sa mga hiyas sa mga satellite mahitabo sumala sa prinsipyo hiniusang pagbag-o - sa usa ka satellite, ang dili-bersiyon nga mga kinaiya mahimong tipigan (pananglitan, petsa sa pagkatawo ug SNILS alang sa usa ka indibidwal), sa lain - panagsa ra nga mag-usab sa bersyon (pananglitan, apelyido ug numero sa pasaporte), sa ikatulo - kanunay nga pagbag-o (pananglitan, adres sa pagpadala, kategorya, petsa sa katapusang order, ug uban pa). Ang pag-bersyon sa kini nga kaso gihimo sa lebel sa indibidwal nga mga satelayt, ug dili ang entidad sa kinatibuk-an, busa gitambagan nga ipang-apod-apod ang mga kinaiya sa paagi nga ang intersection sa mga bersyon sa sulod sa usa ka satellite gamay (nga nagpamenos sa kinatibuk-ang gidaghanon. sa gitipigan nga mga bersyon).

Usab, aron ma-optimize ang proseso sa pag-load sa datos, ang mga hiyas nga nakuha gikan sa lainlaing mga gigikanan kanunay nga gibutang sa lainlaing mga satellite.

Ang mga satellite nakigkomunikar sa Hub pinaagi sa langyaw nga yawe (nga katumbas sa 1-to-many cardinality). Nagpasabot kini nga daghang mga hiyas sa hiyas (pananglitan, daghang mga numero sa telepono sa kontak alang sa parehas nga kustomer) gisuportahan sa kini nga "default" nga arkitektura.

В Angkla nga Modelo Ang mga lamesa nga nagtipig sa mga yawe gitawag Mga angkla. Ug sila nagpadayon:

  • Mga surrogate nga yawe lamang
  • Link sa tinubdan
  • Oras sa pagrekord

Ang natural nga mga yawe gikan sa punto sa panglantaw sa Anchor Model giisip ordinaryo nga mga hiyas. Kini nga opsyon ingon og mas lisud sabton, apan naghatag kini og mas daghang kasangkaran sa pag-ila sa usa ka butang.

Overview sa Agile DWH Design Methodologies

Pananglitan, kung ang datos bahin sa parehas nga entidad mahimong maggikan sa lainlaing mga sistema, ang matag usa naggamit sa kaugalingon nga natural nga yawe. Sa Data Vault, kini mahimong mosangpot sa medyo hasol nga mga konstruksyon sa daghang mga hub (usa matag tinubdan + paghiusa sa master nga bersyon), samtang sa modelo nga Anchor, ang natural nga yawe sa matag tinubdan nahulog sa kaugalingon nga kinaiya ug mahimong magamit kung nagkarga nga independente sa ang tanan nga uban pa.

Apan dinhi nahimutang ang usa ka maliputon nga higayon: kung ang mga hiyas gikan sa lainlaing mga sistema gihiusa sa usa ka entidad, lagmit adunay pipila. mga lagda sa glue, diin kinahanglan masabtan sa sistema nga ang mga rekord gikan sa lain-laing mga tinubdan katumbas sa usa ka higayon sa entidad.

В Data Vault kini nga mga lagda lagmit nga magtino sa pagporma "surrogate hub" sa master entity ug dili makaapekto sa mga Hub nga nagtipig sa natural nga mga yawe sa mga tinubdan ug sa ilang orihinal nga mga kinaiya. Kung sa usa ka punto ang mga lagda alang sa paghiusa pagbag-o (o ang mga hiyas nga gigamit alang sa paghiusa ma-update), kini igo na aron maporma pag-usab ang mga puli nga hub.

В modelo sa angkla ang ingon nga entidad lagmit nga gitipigan usa ka angkla. Kini nagpasabot nga ang tanang mga hiyas, bisan asa nga tinubdan kini makuha, igapos sa samang puli. Ang pagbulag sa mga sayup nga gihiusa nga mga rekord ug, sa kinatibuk-an, ang pagsubay sa kalambigitan sa paghiusa sa ingon nga sistema mahimong labi ka lisud, labi na kung ang mga lagda medyo komplikado ug kanunay nga nagbag-o, ug ang parehas nga kinaiya mahimong makuha gikan sa lainlaing mga gigikanan (bisan kung sigurado nga kini posible, tungod kay ang matag bersyon sa hiyas nagpabilin nga usa ka pakisayran sa gigikanan niini).

Sa bisan unsang kaso, kung ang imong sistema kinahanglan nga ipatuman ang pagpaandar deduplication, paghiusa sa mga rekord ug uban pang mga elemento sa MDM, kinahanglan nimo nga basahon pag-ayo ang mga aspeto sa pagtipig sa natural nga mga yawe sa flexible nga mga pamaagi. Tingali ang labi ka dili magamit nga laraw sa Data Vault kalit nga labi ka luwas sa mga termino sa mga sayup sa paghiusa.

modelo sa angkla naghatag usab og dugang nga matang sa butang nga gitawag Knot sa pagkatinuod kini mao ang usa ka espesyal nga degenerate nga matang sa angkla, nga mahimong adunay usa lamang ka hiyas. Ang mga node kinahanglan nga gamiton alang sa pagtipig sa mga patag nga direktoryo (pananglitan, gender, kahimtang sa kaminyoon, kategorya sa serbisyo sa kostumer, ug uban pa). Dili sama sa Anchor, Knot walay kaubang attribute tables, ug ang bugtong hiyas niini (ngalan) kanunay nga gitipigan sa parehas nga lamesa nga adunay yawe. Ang mga node gisumpay ngadto sa Anchors pinaagi sa tie tables (Tie) sa samang paagi nga ang mga angkla konektado sa usag usa.

Wala’y klaro nga opinyon bahin sa paggamit sa Nodes. Pananglitan, Nikolay Golov, kinsa aktibong nagpasiugda sa paggamit sa Anchor Model sa Russia, nagtuo (dili makatarunganon) nga imposible nga isulti alang sa usa ka reperensiya nga libro nga siya kanunay mahimong static ug single-level, mao nga mas maayo nga gamiton ang usa ka hingpit nga Anchor alang sa tanan nga mga butang sa usa ka higayon.

Ang laing importante nga kalainan tali sa Data Vault ug Anchor Model mao ang presensya mga hiyas alang sa mga link:

В Data Vault Ang mga link parehas nga hingpit nga mga butang sama sa Hubs, ug mahimo nga adunay kaugalingon nga mga hiyas. ang modelo sa angkla Ang mga link gigamit lamang sa pagkonektar sa mga Anchor ug dili makabaton sa ilang kaugalingon nga mga kinaiya. Kini nga kalainan nagdala ngadto sa mahinungdanon nga nagkalainlain nga mga pamaagi sa pagmodelo. kamatuoran, nga hisgotan sa sunod.

Pagtipig sa kamatuoran

Sa pagkakaron, nag-una na kami sa paghisgot mahitungod sa pagmodelo sa mga pagsukod. Ang mga kamatuoran dili kaayo klaro.

В Data Vault usa ka tipikal nga butang alang sa pagtipig sa mga kamatuoran − Link, kansang mga satellite gidugang ang tinuod nga mga timailhan.

Kini nga pamaagi daw intuitive. Naghatag kini og dali nga pag-access sa mga na-analisa nga mga indikasyon ug kasagaran parehas sa tradisyonal nga lamesa sa kamatuoran (ang mga timailhan lamang ang wala gitipig sa lamesa mismo, apan sa "kasikbit nga lamesa"). Apan adunay usab mga lit-ag: usa sa mga tipikal nga pagdalisay sa modelo - ang pagpalapad sa kamatuoran nga yawe - naghimo niini nga kinahanglanon pagdugang og bag-ong langyaw nga yawe sa Link. Ug kini, sa baylo, "makaguba" sa modularity ug mahimong hinungdan sa panginahanglan alang sa pagpaayo sa ubang mga butang.

В modelo sa angkla Ang usa ka link dili adunay kaugalingon nga mga hiyas, mao nga kini nga pamaagi dili molihok - hingpit nga tanan nga mga hiyas ug mga timailhan kinahanglan nga nalambigit sa usa ka piho nga angkla. Ang konklusyon gikan niini yano - ang matag kamatuoran nagkinahanglan usab ug kaugalingong angkla. Alang sa pipila nga atong naanad nga gitan-aw ingon nga mga kamatuoran, kini mahimo’g ingon natural - pananglitan, ang kamatuoran sa usa ka pagpalit hingpit nga gikunhuran sa butang nga "order" o "resibo", ang pagbisita sa usa ka site gipamubu sa usa ka sesyon, ug uban pa. Apan adunay usab mga kamatuoran diin dili sayon ​​​​ang pagpangita sa ingon nga natural nga "tagadala nga butang" - pananglitan, ang balanse sa mga butang sa mga bodega sa sinugdanan sa matag adlaw.

Tungod niini, wala'y mga problema sa modularity sa dihang gipalapdan ang kamatuoran nga yawe sa Anchor Model (kini igo na nga magdugang og bag-ong Relasyon sa katugbang nga Anchor), apan ang pagdesinyo sa modelo aron ipakita ang mga kamatuoran dili kaayo prangka, ang "artipisyal" nga mga Angkla mahimong makita. nga nagpakita sa modelo sa butang sa negosyo dili klaro.

Giunsa pagkab-ot ang pagka-flexible

Ang resulta nga pagtukod sa duha ka mga kaso naglangkob mas daghang lamesakay sa tradisyonal nga pagsukod. Apan mahimo kini labi ka gamay nga espasyo sa disk nga adunay parehas nga hugpong sa mga bersyon nga mga kinaiya sama sa tradisyonal nga dimensyon. Natural, wala’y salamangka dinhi - kini bahin sa normalisasyon. Pinaagi sa pag-apod-apod sa mga hiyas sa mga Satellite (sa Data Vault) o indibidwal nga mga lamesa (Anchor Model), among gipakunhod (o hingpit nga giwagtang) pagdoble sa mga mithi sa pipila ka mga hiyas sa dihang mag-ilis sa uban.

Sa Data Vault ang ganansya magdepende sa pag-apod-apod sa mga kinaiya taliwala sa mga Satellite, ug alang sa modelo sa angkla — halos direkta nga proporsiyon sa kasagarang gidaghanon sa mga bersiyon kada sukod nga butang.

Bisan pa, ang pagkuha sa luna usa ka hinungdanon, apan dili ang panguna, bentaha sa pagtipig sa mga kinaiya nga gilain. Uban sa bulag nga pagtipig sa mga link, kini nga pamaagi naghimo sa pagtipig modular nga disenyo. Kini nagpasabot nga ang pagdugang sa tagsa-tagsa nga mga hiyas ug sa tibuok nga bag-ong mga dapit sa hilisgutan sa ingon nga modelo morag superstructure ibabaw sa usa ka kasamtangan nga hugpong sa mga butang nga walay pagbag-o niini. Ug mao gyud kini ang nakapahimo sa gihulagway nga mga pamaagi nga flexible.

Nahisama usab kini sa pagbalhin gikan sa produksiyon sa piraso hangtod sa produksiyon sa masa - kung sa tradisyonal nga pamaagi ang matag modelo nga lamesa talagsaon ug nanginahanglan lahi nga atensyon, nan sa flexible nga mga pamaagi kini usa na ka hugpong sa tipikal nga "mga detalye". Sa usa ka bahin, adunay daghang mga lamesa, ang mga proseso sa pagkarga ug pagkuha sa datos kinahanglan nga tan-awon nga labi ka komplikado. Sa laing bahin, sila mahimong tipikal. Kini nagpasabot nga mahimo nga adunay awtomatiko ug gidumala sa metadata. Ang pangutana nga "unsaon naton ibutang?", ang tubag nga mahimo’g mag-okupar sa usa ka hinungdanon nga bahin sa trabaho sa disenyo sa mga pag-uswag, karon dili gyud takus (sama sa pangutana sa epekto sa pagbag-o sa modelo sa pagtrabaho. mga proseso).

Wala kini magpasabut nga ang mga analista sa ingon nga sistema wala kinahanglana - adunay kinahanglan pa nga magtrabaho sa usa ka hugpong sa mga butang nga adunay mga kinaiya ug mahibal-an kung diin ug kung giunsa kini i-load ang tanan. Apan ang kantidad sa trabaho, ingon man ang kalagmitan ug gasto sa usa ka sayup, labi nga pagkunhod. Pareho sa yugto sa pagtuki ug sa panahon sa pag-uswag sa ETL, nga sa usa ka hinungdanon nga bahin mahimo’g mapakunhod sa pag-edit sa metadata.

Ang mangitngit nga bahin

Ang tanan nga naa sa ibabaw naghimo sa duha nga mga pamaagi nga labi ka dali, mahimo’g mahimo ug angay alang sa pag-uli nga pagpino. Siyempre, adunay usa usab ka "barrel sa tar", nga sa akong hunahuna nahibal-an na nimo.

Ang pagkadunot sa datos nga nagpahipi sa modularity sa flexible nga mga arkitektura nagdala ngadto sa pagdugang sa gidaghanon sa mga lamesa ug, sumala niana, overhead para apil sa pagkuha. Aron makuha ra ang tanan nga mga kinaiya sa usa ka dimensyon, ang usa ka pagpili igo na sa klasikal nga pagtipig, ug ang usa ka flexible nga arkitektura magkinahanglan daghang mga pag-apil. Dugang pa, kung alang sa mga taho ang tanan nga kini nga mga pag-apil mahimong isulat nga abante, nan ang mga analista nga naanad sa pagsulat sa SQL pinaagi sa kamot doble nga mag-antos.

Adunay daghang mga kamatuoran nga nagpasayon ​​niini nga sitwasyon:

Kung nagtrabaho uban ang dagkong mga dimensyon, hapit tanan nga mga hiyas niini hapit dili magamit nga dungan. Nagpasabut kini nga mahimo’g adunay gamay nga pag-apil kaysa sa una nga pagtan-aw sa modelo. Sa Data Vault, mahimo usab nimong tagdon ang gipaabot nga kasubsob sa pagpaambit sa dihang naggahin ug mga hiyas sa mga satellite. Sa samang higayon, ang Hubs o Anchors mismo ang gikinahanglan ilabina sa pagmugna ug pagmapa sa mga surrogates sa loading stage ug panagsa ra nga gigamit sa mga pangutana (kini ilabinang tinuod alang sa Anchors).

Ang tanan nga pag-apil kay pinaagi sa yawe. Dugang pa, ang usa ka mas "compressed" nga paagi sa pagtipig sa datos makapakunhod sa overhead sa mga lamesa sa pag-scan kung diin kini gikinahanglan (pananglitan, kung ang pagsala pinaagi sa usa ka bili sa hiyas). Kini mahimong mosangpot sa kamatuoran nga ang pagkuha gikan sa usa ka normal nga database nga adunay usa ka hugpong sa mga pag-apil mahimong mas paspas pa kay sa pag-scan sa usa ka bug-at nga dimensyon nga adunay daghang mga bersyon matag laray.

Pananglitan, dinhi sa kini artikulo adunay usa ka detalyado nga comparative performance pagsulay sa Anchor modelo uban sa usa ka pagpili gikan sa usa ka lamesa.

Daghan nagdepende sa makina. Daghang mga modernong plataporma ang adunay internal nga mga mekanismo alang sa pag-optimize sa pag-apil. Pananglitan, ang MS SQL ug Oracle mahimong "laktawan" ang pag-apil sa mga lamesa kung ang ilang datos wala magamit bisan asa gawas sa ubang mga pag-apil ug dili makaapekto sa katapusang pagpili (table/join elimination), samtang ang MPP Vertica kasinatian sa mga kauban gikan sa Avito, napamatud-an nga usa ka maayo kaayo nga makina alang sa Anchor Model, nga adunay pipila ka manwal nga pag-optimize sa plano sa pangutana. Sa laing bahin, ang pagtipig sa Anchor Model, pananglitan, sa Click House, nga adunay limitado nga suporta sa pag-apil, ingon og dili pa maayo nga ideya.

Dugang pa, alang sa duha nga mga arkitektura adunay espesyal nga mga limbong, nga nagpasayon ​​sa pag-access sa datos (sa termino sa pasundayag sa pangutana ug alang sa mga end user). Pananglitan, Point-in-time nga mga lamesa sa Data Vault o espesyal nga mga function sa lamesa sa anchor model.

Total

Ang nag-unang esensya sa giisip nga flexible nga mga arkitektura mao ang modularity sa ilang "disenyo".

Kini nga kabtangan nagtugot:

  • Human sa pipila ka inisyal nga pagpangandam nga may kalabutan sa pag-deploy sa metadata ug pagsulat sa mga batakang ETL algorithm, dali paghatag sa kustomer sa unang resulta sa porma sa usa ka magtiayon nga mga taho nga adunay mga datos gikan sa pipila lang nga gigikanan nga mga butang. Dili kinahanglan nga hingpit nga hunahunaon (bisan ang taas nga lebel) sa tibuuk nga modelo sa butang alang niini.
  • Ang usa ka modelo sa datos mahimong magsugod sa pagtrabaho (ug mapuslanon) nga adunay 2-3 nga mga butang, ug dayon anam-anam nga motubo (mahitungod sa modelo sa Anchor nga si Nikolay gipadapat nindot nga pagtandi sa mycelium).
  • Kadaghanan sa mga pag-uswag, lakip ang pagpalapad sa hilisgutan nga lugar ug pagdugang bag-ong mga gigikanan dili makaapekto sa kasamtangan nga pagpaandar ug dili hinungdan sa kapeligrohan sa paglapas sa usa ka butang nga nagtrabaho na.
  • Salamat sa pagkadunot sa mga standard nga elemento, ang mga proseso sa ETL sa ingon nga mga sistema parehas nga hitsura, ang ilang pagsulat nagpahulam sa kaugalingon sa algorithmization ug, sa katapusan, automation.

Ang bili niini nga pagka-flexible mao pasundayag. Wala kini magpasabot nga imposible nga makab-ot ang madawat nga pasundayag sa maong mga modelo. Mas kasagaran kay sa dili, kinahanglan nimo ang dugang nga paningkamot ug pagtagad sa detalye aron makab-ot ang gitinguha nga mga sukatan.

Приложения

Mga tipo sa entidad Data Vault

Overview sa Agile DWH Design Methodologies

Dugang pa bahin sa Data Vault:
Dan Listadt website
Tanan bahin sa Data Vault sa Russian
Mahitungod sa Data Vault sa Habré

Mga tipo sa entidad Angkla nga Modelo

Overview sa Agile DWH Design Methodologies

Dugang pa mahitungod sa Anchor Model:

Site sa mga tiglalang sa Anchor Model
Usa ka artikulo bahin sa kasinatian sa pagpatuman sa Anchor Model sa Avito

Summary table nga adunay komon nga mga bahin ug mga kalainan tali sa gikonsiderar nga mga pamaagi:

Overview sa Agile DWH Design Methodologies

Source: www.habr.com

Idugang sa usa ka comment