Proses ETL (Extraction, Transformation, Loading) adalah tahapan utama dalam pembentukan data warehouse (Kimball, 2004). Berikut adalah penjelasan dari setiap proses dalam ETL:
1. Ekstraksi Data (Extract)
Ekstraksi data adalah tahap pertama di mana data diambil atau diekstrak dari berbagai sistem operasional. Proses ini bisa dilakukan menggunakan query atau aplikasi ETL. Beberapa fungsi ekstraksi data adalah sebagai berikut:
- Ekstraksi data secara otomatis dari aplikasi sumber.
- Penyaringan atau seleksi data hasil ekstraksi.
- Pengiriman data dari berbagai platform aplikasi ke sumber data.
- Perubahan format layout data dari format aslinya.
- Penyimpanan data dalam file sementara untuk digabungkan dengan hasil ekstraksi dari sumber lain.
2. Transformasi Data (Transformation)
Transformasi adalah proses di mana data mentah (raw data) hasil ekstraksi disaring dan diubah sesuai dengan kaidah bisnis yang berlaku. Langkah-langkah dalam proses transformasi data meliputi:
- Memetakan data input dari skema data aslinya ke skema data warehouse.
- Melakukan konversi tipe data atau format data.
- Pembersihan data, termasuk penghapusan duplikasi dan kesalahan data.
- Penghitungan nilai derivat atau mula-mula.
- Penghitungan nilai agregat atau rangkuman.
- Pemeriksaan integritas referensi data.
- Pengisian nilai kosong dengan nilai default.
- Penggabungan data.
3. Pengisian Data (Loading)
Proses terakhir dalam ETL adalah pemuatan data yang sudah ditransformasi ke dalam data warehouse. Proses ini biasanya dilakukan dengan menjalankan SQL script secara periodik untuk memuat data ke dalam data warehouse.
Arsitektur Data Warehouse
Arsitektur data warehouse (lihat gambar di bawah) mencakup proses ETL (Extraction, Transformation, Loading) untuk memindahkan data dari berbagai sumber operasional dan sumber data eksternal lainnya ke dalam data warehouse. Data warehouse dapat dibagi menjadi beberapa data mart berdasarkan fungsi bisnisnya, misalnya data mart untuk penjualan, pemasaran, dan keuangan.
Data dalam data warehouse dan data mart diatur oleh satu atau lebih server yang mewakili tampilan multidimensional dari data tersebut. Server ini digunakan oleh berbagai alat analisis seperti query tools, report writers, data mining tools, dan lainnya.
Karakteristik Data Warehouse
Data warehouse merupakan kumpulan data yang berasal dari berbagai sumber dan disimpan dalam satu gudang data (repository) dalam kapasitas besar untuk mendukung pengambilan keputusan (Prabhu, 2007). Menurut William Inmon, ada beberapa karakteristik utama dari data warehouse, di antaranya:
1. Subject-Oriented
Data dalam data warehouse disimpan berdasarkan subjek, bukan berdasarkan aplikasi. Misalnya, pada perusahaan manufaktur, subjek bisnis yang penting meliputi penjualan, pengangkutan, dan penyimpanan barang. Ini berbeda dengan sistem operasional di mana data disimpan berdasarkan aplikasi tertentu.
2. Integrated
Data warehouse mengintegrasikan data dari berbagai sistem operasional. Data yang berasal dari sumber yang berbeda seringkali memiliki perbedaan dalam hal penamaan, representasi kode, atribut data, dan pengukuran. Oleh karena itu, data harus disamakan dan distandarisasi agar bisa terintegrasi dengan baik dalam data warehouse.
3. Time-Variant
Data yang disimpan dalam data warehouse adalah data historis dalam rentang waktu tertentu, bukan data terkini. Setiap data dalam data warehouse mengandung informasi waktu, seperti tanggal, minggu, bulan, atau periode tertentu lainnya. Hal ini memungkinkan analisis terhadap data masa lalu, pencarian hubungan antara data historis dan keadaan saat ini, serta prediksi untuk masa depan.
4. Non-Volatile
Data dalam data warehouse bersifat read-only, artinya tidak dapat diubah. Meskipun data dalam sistem operasional dapat diperbarui setiap kali ada transaksi bisnis, data dalam data warehouse hanya dapat diperbarui melalui proses pemuatan data secara reguler, dan perubahan hanya terjadi pada penambahan data baru, bukan pengubahan data lama.
Perbandingan Data Warehouse dengan Database Operasional
Perbedaan mendasar antara data warehouse dan database operasional terletak pada cara manipulasi data. Pada database operasional, data dapat diubah secara real-time melalui operasi seperti update, insert, dan delete. Sementara itu, di data warehouse, data hanya dimanipulasi dalam dua cara: loading data (mengambil data) dan akses data (melakukan query atau menampilkan laporan), tanpa ada kegiatan update data.
Karakteristik Time Variant dalam Data Warehouse
Data dalam data warehouse dapat dianggap akurat atau valid pada rentang waktu tertentu. Beberapa cara untuk mengukur keakuratan data warehouse berdasarkan waktu meliputi:
- Pendekatan Waktu Tertentu: Menyajikan data warehouse dalam rentang waktu tertentu, seperti 5 hingga 10 tahun ke depan.
- Variasi Waktu: Menggunakan variasi waktu yang disajikan baik secara eksplisit (misalnya dalam bentuk tanggal, bulan, atau tahun) atau implisit (misalnya pada data yang diduplikasi setiap akhir bulan atau kuartal).
- Snapshot: Data warehouse dapat menyajikan serangkaian snapshot data pada waktu tertentu. Snapshot adalah tampilan data yang bersifat read-only, yang menunjukkan data pada suatu titik waktu tertentu.
Integrasi Data dalam Data Warehouse
Data warehouse mengintegrasikan data dari berbagai sumber terpisah ke dalam satu format yang konsisten dan saling terhubung. Agar integrasi data ini berhasil, konsistensi dalam hal penamaan variabel, ukuran variabel, pengkodean, dan atribut fisik data harus dijaga. Sebagai contoh, jika ada aplikasi operasional yang menggunakan variabel dengan nama dan format yang berbeda untuk hal yang sama, data tersebut harus dikonversi sehingga konsisten dan dapat dipahami dengan cara yang sama.
Perbandingan Data Warehouse dan Data Operasional
Berikut adalah perbedaan utama antara data operasional dan data warehouse:
Aspek | Data Operasional | Data Warehouse |
---|---|---|
Fokus Desain | Aplikasi dan fungsi tertentu | Berdasarkan subjek-subjek utama |
Fokus Proses | Desain database dan proses transaksi | Pemodelan data dan desain data |
Tipe Data | Rincian atau detail data | Data historis untuk analisis |
Relasi antar Tabel | Berdasarkan aturan terkini | Menyajikan aturan bisnis di antar tabel |
Pembaharuan Data | Update data secara real-time | Data hanya diupdate secara periodik |
Tujuan Penggunaan | Mendukung transaksi harian | Mendukung pengambilan keputusan |
Kesimpulan
Data warehouse adalah fondasi penting dalam sistem pengelolaan data untuk analisis dan pengambilan keputusan. Dengan karakteristik seperti subject-oriented, integrated, time-variant, dan non-volatile, data warehouse memungkinkan organisasi untuk menyimpan, mengelola, dan menganalisis data dalam jangka panjang untuk mendukung keputusan strategis. Proses ETL memainkan peran yang sangat vital dalam mempersiapkan data untuk analisis, sementara perbedaan utama antara data warehouse dan database operasional memastikan bahwa data yang tersimpan dalam warehouse dapat digunakan secara efektif untuk tujuan analitis.