Bagaimana kita bisa menyederhanakan pengembangan dan pemeliharaan gudang data?

1. Metodologi pemodelan Jangkar yang Diadaptasi

Arsitektur inti dari data warehouse harus mengikuti metodologi pemodelan Anchor yang diadaptasi (non-asli) yang dijelaskan di bawah ini (tetapi bukan Data Vault ).





Jenis tabel





Contoh nama tabel (deskripsi dalam tanda kurung)





Jenis tabel apa yang dapat ditautkan?





Jenis bidang yang diperlukan





Contoh nama bidang





Entitas (Jangkar, Jenis entitas). Dilambangkan dengan persegi





TR_Transaction (semikonduktor untuk debit atau kredit), AC_Account (akun sintetis)





Relasi, Atribut Entitas





Kunci pengganti entitas





TR_ID, AC_ID





Atribut entitas (Atribut). Dilambangkan dengan lingkaran





TR_TDT_TransactionDate (tanggal transaksi)





Entitas





Kunci pengganti entitas (adalah kunci utama untuk masa pakai catatan)





TR_ID





Tanggal mulai dan waktu entri





TR_TDT_FROM





Catat tanggal dan waktu kedaluwarsa (tidak termasuk)





TR_TDT_SEBELUM





Atribut Entitas





TR_TDT





Koneksi (Dasi, Hubungan). Dilambangkan dengan belah ketupat





TR_AC_DC_Transaction_Account_DrCr (akun buku besar dalam semikonduktor)





Entitas





Kunci pengganti untuk setiap entitas terkait (bersama dengan beberapa atribut hubungan yang menunjukkan jenis hubungan, bentuklah kunci komposit selama masa pakai rekaman)





TR_ID, AC_ID





Tanggal mulai dan waktu entri





TR_AC_DC_FROM





Catat tanggal dan waktu kedaluwarsa (tidak termasuk)





TR_AC_DC_BEFORE









DC (/)





Contoh skema data

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





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