IlustratifData Engineering

Data mart pelaporan yang bisa dipercaya

Desain referensi untuk mengubah beberapa sistem operasional menjadi satu sumber terkelola bagi pelaporan manajemen dan regulasi.

IntisariAngka yang dilaporkan hanya sekredibel lineage-nya, jadi rancang pemeriksaannya sebelum dasbornya.

Desain referensi ilustratif. Menunjukkan cara saya mendekati jenis masalah ini, dan bukan catatan proyek yang pernah dikerjakan.

Konteks
Sebuah organisasi teregulasi membutuhkan laporan berulang yang dibangun dari beberapa sistem operasional.
Peran saya
Penulis desain referensi ini, bukan sistem yang pernah dikerjakan.
Fokus
Data mart, Rekonsiliasi, Kamus metrik, Pipeline batch

Masalah dan batasan

Masalah

Laporan dirakit manual dari beberapa sistem. Tiap siklus membawa perbaikan menit-akhir, definisi yang bergeser, dan pertanyaan: mengapa bulan ini tidak cocok dengan bulan lalu?

Batasan

  • Angka harus dapat direproduksi untuk tanggal pelaporan mana pun di masa lalu.
  • Pemilik bisnis menyepakati definisi sebelum dibangun.
  • Sistem sumber tidak bisa diubah demi kebutuhan pelaporan.
  • Tim yang menjalankan pipeline kecil.

Opsi yang dipertimbangkan

  • Tidak dipilih

    Bangun setiap laporan langsung di atas sistem sumber

    Cepat untuk laporan pertama, tetapi definisi bergeser dan tiap siklus mengulang rekonsiliasi.

  • Tidak dipilih

    Gudang data pusat dengan transformasi saja

    Struktur konsisten, tetapi kesalahan muncul di laporan karena tidak ada yang memeriksa batas masuknya.

  • Dipilih

    Mart terkelola dengan rekonsiliasi di batas masuk

    Lebih banyak kesepakatan di awal, lebih sedikit perselisihan kemudian.

Arsitektur

Daratkan data tanpa diubah, rekonsiliasi di batas masuk terhadap total kontrol, lalu modelkan berdasarkan kamus metrik yang disetujui pemilik bisnis. Setiap angka dapat ditelusuri ke baris sumbernya.

Pilih komponen mana pun untuk melihat fungsinya dan bagaimana ia terhubung. Diagram ini ilustratif: menunjukkan bentuk sebuah solusi, bukan sistem tertentu.

Arsitektur referensi ilustratif

  1. Sumber

  2. Staging

  3. Validasi

  4. Kurasi

  5. Laporan

Pilih sebuah komponen

Pilih blok mana pun untuk membaca fungsinya dan bagaimana ia terhubung dengan yang lain.

Sistem operasional
Sistem pencatatan yang tetap tidak berubah. Masing-masing punya pemilik data yang disebutkan namanya.
Lapisan staging
Salinan mentah didaratkan apa adanya, dengan cap waktu muat, sehingga proses apa pun dapat direproduksi.
Pemeriksaan rekonsiliasi
Jumlah baris, total kontrol, dan pemeriksaan aturan. Pemeriksaan yang gagal memblokir publikasi dan memberi tahu pemiliknya.
Data mart terkurasi
Dimodelkan berdasarkan kamus metrik terkelola, dengan riwayat disimpan untuk tanggal pelaporan masa lalu.
Laporan dan tinjauan
Laporan manajemen dan regulasi yang dibangun di lapisan terkurasi, disetujui oleh pemilik metrik.

Keputusan dan trade-off

  1. Rekonsiliasi di batas masuk, saat data memasuki mart.

    Trade-offMuatan pertama lebih lambat dan kegagalan lebih nyaring, tetapi perselisihan diselesaikan sekali, bukan di setiap laporan.

  2. Modelkan mart berdasarkan kamus metrik yang terkelola.

    Trade-offMemakan waktu pemangku kepentingan di awal, dan mencegah tiap tim membuat versi metriknya sendiri.

  3. Pilih proses batch idempoten daripada streaming.

    Trade-offData kurang segar, tetapi setiap proses dapat diulang dengan aman dan diaudit.

Cara pengerjaannya

  1. Inventarisasi

    Daftar laporan dan tulis setiap definisi metrik beserta pemiliknya.

  2. Daratkan

    Salin data sumber tanpa diubah ke staging, lalu terapkan transformasi bertipe yang teruji.

  3. Rekonsiliasi

    Jalankan pemeriksaan terhadap total kontrol dan blokir publikasi saat gagal.

  4. Terbitkan

    Sediakan lapisan terkurasi untuk alat pelaporan, didokumentasikan dari kamus.

Pelajaran dan langkah berikutnya

Status saat iniDesain referensi ilustratif. Belum diimplementasikan seperti yang dijelaskan.

Pelajaran: artefak yang paling berharga sering kali adalah kamus metrik, karena memberi bisnis dan engineering satu kosakata.

Langkah berikutnya

  • Inventarisasi laporan berisiko tertinggi dan sepakati pemilik tiap metrik.
  • Pilih total kontrol yang memblokir publikasi, dan siapa yang diberi tahu saat ada yang gagal.
  • Uji coba alur staging-ke-mart pada satu laporan lebih dulu.

Mari kita bahas

Jika masalah seperti ini terdengar akrab, saya ingin mendengar bagaimana ia muncul di tempat Anda.