Comment simplifier le développement et la maintenance de l'entrepôt de données ?

1. Méthodologie de modélisation d'ancrage adaptée

L'architecture de base de l'entrepôt de données doit suivre la méthodologie de modélisation Anchor adaptée (non originale) décrite ci-dessous (mais pas le Data Vault ).





Type de tableau





Exemples de noms de table (description entre parenthèses)





A quels types de tables peut-il être lié ?





Type de champ obligatoire





Exemples de noms de champs





Entités (Ancre, Type d'entité). Dénoté par un carré





TR_Transaction (semi-conducteur pour débit ou crédit), AC_Account (compte synthétique)





Relations, attribut d'entité





Clé de substitution d'entité





TR_ID, AC_ID





Attribut des entités (Attribute). Dénoté par un cercle





TR_TDT_TransactionDate (date de la transaction)





Entités





Clé de substitution d'entité (est la clé primaire pour la durée de vie de l'enregistrement)





TR_ID





La date et l'heure de début de l'entrée





TR_TDT_FROM





Enregistrer la date et l'heure d'expiration (non inclus)





TR_TDT_BEFORE





Attribut d'entité





TR_TDT





Connexions (cravate, relation). Dénoté par un losange





TR_AC_DC_Transaction_Account_DrCr (compte de grand livre dans le semi-conducteur)





Entités





Clés de substitution pour chaque entité liée (avec certains attributs de relation qui indiquent le type de relation, forment une clé composite sur la durée de vie de l'enregistrement)





TR_ID, AC_ID





La date et l'heure de début de l'entrée





TR_AC_DC_FROM





Enregistrer la date et l'heure d'expiration (non inclus)





TR_AC_DC_BEFORE









DC (/)





Exemple de schéma de données

-- --. – . , , , .. . , «» – .





Anchor modeling , . Anchor modeling .





NULL, , ( , , , , , ). / , (, '0001-01-01', '-infinity', '9999-12-31', 'infinity').





, (. ). Crockford's base32.





(knot) Anchor modeling. .





( , ) - Online Modeler Online Modeler (test version), SQL- . SQL- ( SQL-) Anchor modeling Python Microsoft Excel.





2. ULID

ULID. , -.





( ) ULID ( UUID), :





  • ttttttttttrrrrrrrrrrrrrrxx (: 01F5B023PBG3C48TSBDQQ3V9TR)





  • ttttttttttsssrrrrrrrrrrrxx (: 01F5B023PB00448TSBDQQ3V5TR)









t – (Timestamp) (10 48 ), UNIX-time (UTC)





s – 0 32768, , (Sequence) (3 15 )





r – (Randomness) (14/11 65/55 )





x – (Entity type) (2 10 )





Crockford's base32.





ULID’ :





  1. ULID’





  2. ULID’





  3. ( )





  4. ULID’ ( – , – )





  5. ULID’ (, , UUID ), (HDD SSD)





  6. ( 5 ) ULID’ (HDD SSD) (, ULID’)





- , . , .





3.

SCD2 (): « » ( _FROM) « ( )» ( _BEFORE).





, , (valid time) , , (transaction time). «» (, ).





4.

, ( ), (transaction time), . , , , .





: TR_TIMESTAMP, TR_TDT_TIMESTAMP, TR_AC_DC_TIMESTAMP.





5.

( , , , ..), – . , - ..





(, ) , , .





6.

.





, . , – .





, , . , :





  • /,





  • ,





  • ,





  • ,





  • ,





  • .





7.

true false, , array, hstore jsonb.





8.

( ) , . , , .





, , IT-.





. , , «». , .





, array, hstore jsonb.





9.

.





, Anchor modeling. , .





10. SQL-

SQL- , Anchor modeling, . SQL- SQL- , . SQL- . SQL- ( Python Microsoft Excel).





SQL-, . (. ).





Anchor modeling . SQL-, .





11.

, SQL ORM . , , . :





  • – , ,





  • , .





.








All Articles