ETL (Extract-Transform-Load) Sebagai Data Warehouse Tool
Sebelum mebaca keseluruhan artikel ini sebaiknya anda memahami terlebih dahulu pengertian dari Data Warehouse (DWH). Banyak sekali artikel yang membahas DWH di internet, anda tinggal mencarinya di google. Namun di sini saya akan mencoba menjelaskan sedikit tentang DWH. Data Warehouse adalah sebuah sistem yang melakukan pengumpulan data/informasi dari beberapa sumber transaksi data untuk pengolahan lebih lanjut. Misal pada suatu Universitas terdapat Aplikasi Human Resource Management Information Sistem (HRMIS), Aplikasi Sistem Akademik, Aplikasi Asset Management, Aplikasi Research Management, dan lain-lain. Maka DWH akan menyimpan data-data transaksi yang dibutuhkan dari aplikasi-aplikasi tersebut biasanya ke dalam satu database. Pengelompokan data dari aplikasi-aplikasi tersebut dalam DWH disebut Data Mart. Penglolahan lebih lanjut dari DWH bisa untuk Business Intelligence, Mengontrol Quality Data, atau mencari Suspect Data dari transaksi yang dicurigai.
Nah....untuk membuat suatu DWH, ETL Tool merupakan sebuah tool yang umum digunakan dalam pembuatan DWH. Extract, Transform, dan Load (ETL) merpuakan proses-proses sebagai berikut :
- Extracting Data, proses ini membaca struktur data dan isinya dari sumber data yang selanjutnya akan didefinisikan ke dalam sebuah Skema Standar ETL Tool.
- Transform, proses ini untuk menyesuaikan apa-apa saja yang akan di load ke dalam target. pada proses transform bisa berupa simple copy (hanya migrasi data ke dalam target yang mempunya skema yang sama dengan sumber data), melakukan join dari sumber data lain, melakukan agregasi, sorting, filter, dan lain (tergantung dukungan dari ETL Tool yang dipakai).
- Load, merupakan proses terakhir yang melakukan penyimpanan data ke dalam target (DWH).
Mungkin anda berpikir untuk membuat program sendiri menggunakan PHP, Java, Dot Net, atau lainnya untuk melakukan mengintegrasikan data dari beberapa aplikasi ke dalam DWH. Namun anda akan bepikir dua kali jika mempunyai kasus-kasus sebagai berikut :
- Sumber data yang akan di proses memiliki data ribuan bahkan jutaan record.
- Sumber data tidak hanya dari database, namun ada beberapa sumber data dari flat file seperti excel, XML dan file delimiter.
- Sumber data tidak hanya dari satu vendor database server, misalkan ada yang dari SQL Server, MySQL, Postgresql, Sybase, dan lain-lain.
- Proses Integrasi data tidak hanya melakukan simple copy, tapi harus melalui agregasi, filter, sorting, dan join.
- Target tidak hanya menyimpan ke dalam suatu database, namun akan membuat File XML juga untuk backup.
Dari penjelasan di atas bisa anda simpulkan apa-apa saja dukungan yang akan anda temukan pada ETL Tool. Berikut adalah dukungan-dukungan yang dimiliki oleh ETL Tool (ini berdasarkan pengalaman saya menggunakan beberapa ETL Tool) :
- Mempunya banyak dukungan terhadap sumber data, hampir semua ETL Tool mendukung vendor-vendor database populer sepert SQL Server, Oracle, Mysql, PostgreSQL, Netezza, Sybase, bahkan AS400. Selain database dapat juga mendukung pembacaan sumber data dari Flat File seperti Excel, XML, Json, HTTP Request, JSon, File Delimiter, dan lain-lain.
- Dukungan GUI untuk membuat Skema ETL.
- Beberapa ETL Tool disertakan dengan JOB SCHEDULER untuk proses Ototmatis.
- Mendukung pengolahan data seperti simple copy, Agregasi, Finter, Sorter, Join, bahkan ada yang mendukung penggunaan Pipe untuk data flow.
- Dukungan target penyimpanan hampir sama pada dukungan terhadap sumer data.
Untuk mencobanya bisa anda gunakan Opensource ETL Tool seperti Clover ETL (http://www.cloveretl.com) , Apatar (http://www.apatar.com), Talend Open Studio for Data Integration (http://www.talend.com), dan Pentaho Data Integration (http://kettle.pentaho.com).
Sumber : katenjo17.blogspot.co.id