Schema Validation
Proses verifikasi otomatis bahwa data yang masuk sesuai dengan struktur yang udah disepakati: tipe data bener, format sesuai, nilai dalam range yang wajar, dan relasi antar tabel terjaga.
Apa itu Schema Validation?
Bayangkan kamu punya formulir online yang minta tanggal lahir. Kamu mau pastiin yang diisi itu beneran tanggal (bukan nama kota), formatnya sesuai (DD/MM/YYYY), dan tahunnya masuk akal (bukan 1800 atau 2099). Itulah schema validation: memastikan data yang datang sesuai 'kontrak' yang udah disepakati.
Di dunia data engineering, schema validation jadi penjaga gerbang. Sebelum data dari berbagai sumber masuk ke Data Warehouse atau diolah lebih lanjut, kita verifikasi dulu apakah strukturnya sesuai ekspektasi.
Apa Saja yang Divalidasi?
| Jenis Validasi | Yang Dicek | Contoh |
|---|---|---|
| Type Check | Tipe data kolom sesuai | Kolom umur harus integer, bukan string |
| Format Check | Format nilai sesuai pola | Email harus ada @, tanggal harus YYYY-MM-DD |
| Range Check | Nilai dalam batas yang wajar | Harga harus lebih dari 0, persentase antara 0-100 |
| Null Check | Kolom wajib terisi | user_id nggak boleh null |
| Referential Integrity | Foreign key merujuk ke data yang ada | order.user_id harus ada di tabel users |
| Uniqueness Check | Nilai unik di kolom yang seharusnya unik | Email nggak boleh duplikat |
| Enum Check | Nilai dari daftar yang diizinkan | Status harus salah satu dari: active, inactive, pending |
Schema Validation vs Data Quality Testing
Keduanya mirip tapi fokusnya beda:
- Schema Validation: fokus ke struktur dan kontrak data. 'Apakah bentuknya benar?'
- Data Quality Testing: lebih luas, termasuk logika bisnis. 'Apakah nilainya masuk akal secara bisnis?'
Contoh: schema validation bisa bilang kolom revenue bertipe float dan nggak null. Tapi apakah revenue bulan ini wajar dibanding bulan lalu? Itu urusan data quality testing yang lebih advanced.
Di Mana Schema Validation Dipasang?
Schema validation idealnya ada di beberapa titik di pipeline:
- Saat data masuk (ingestion layer): tangkap data jelek sebelum masuk ke sistem.
- Setelah transformasi (post-transform): validasi output transformasi sesuai schema downstream.
- Sebelum serving (pre-serving): pastikan data yang disajikan ke dashboard atau API sudah benar.
Semakin awal kamu tangkap masalah, semakin murah biayanya. Ini prinsip fail fast yang dipakai tim data yang matang.
Kenapa Ini Penting?
Tanpa schema validation, satu perubahan format di sistem upstream bisa bikin downstream chaos. Bayangkan tim finance tiba-tiba punya laporan dengan angka nol semua karena field revenue yang tadinya integer berubah jadi string, tapi nggak ada yang sadar sampai laporan bulanan keluar.
Schema validation yang diautomasi adalah cara tim data untuk melindungi kepercayaan stakeholder terhadap data.
Udah paham Schema Validation? Lanjut latihan SQL dan Excel yuk!
Latihan interaktif, langsung di browser.