Migrasi Data dengan Talend Open Studio

Ketika sebuah instansi memutuskan untuk hijrah dari menggunakan sebuah sistem yang lama ke sistem yang baru, hal yang tak kalah pentingnya ikut menjadi perhatian adalah bagaimana memindahkan data yang ada di sistem lama ke sistem baru tersebut. Akan tetapi hal itu tidak akan menjadi persoalan jika data di sistem yang lama memang benar-benar ingin di-cut off dan benar-benar memulai dari awal di sistem yang baru.

Memindahkan data dari sistem yang lama ke sistem yang baru bukanlah hal yang semudah memindahkan file dari satu perangkat ke perangkat yang lain. Utamanya karena struktur basis data yang digunakan di sistem baru sudah pasti berbeda dari sistem yang lama. Kalau tidak, ya tidak bisa disebut sistem baru juga. Cuma ganti wajah saja tapi dalaman tetap sama, hehehe.

Setidaknya diperlukan effort untuk memetakan kolom-kolom pada basis data di sistem lama dengan yang di sistem baru. Belum lagi jika ada attribut data seperti tipe data, format, jumlah digit atau karakter, nilai default, dsb yang berubah di sistem yang baru, sehingga memerlukan penanganan khusus, atau yang biasa disebut dengan data cleansing.

Untuk menyelesaikan persoalan tersebut ternyata ada satu kakas (tool) yang menurut saya sangat membantu. Dan yang tak kalah pentingnya, gratis! Hehehe.

Talend namanya. Talend sendiri memiliki beberapa produk. Produk yang saya gunakan untuk mengerjakan kasus tadi adalah Talend Open Studio For Big Data. Kebetulan bisa dibilang inikali pertama saya terlibat dalam sebuah projek terkait data migration. Saya mengetahui kakas ini setelah mendapat rekomendasi dari seorang rekan kerja dari perusahaan partner.

Talend sendiri dibangun di atas Eclipse. Karena itu bagi mereka yang sudah terbiasa dengan Eclipse, tidak akan butuh waktu lama untuk memahami antarmuka Talend Open Studio.

Antarmuka Talend Open Studio

Antarmuka Talend Open Studio

Namun ada satu perbedaan yang sangat signifikan. Jika di Eclipse fokus utama yang pengguna hadapi adalah halaman untuk coding (karena memang fungsinya sebagai IDE untuk suatu bahasa pemrograman), di Talend Open Studio ini fokus utamanya ada pada halaman desainer. Pengguna akan lebih banyak main drag and drop.

Pengguna tinggal memilih komponen yang ada di jendela palette lalu memasukkannya ke dalam halaman desainer. Setiap komponen memiliki fungsinya masing-masing. Ada komponen yang berfungsi untuk koneksi ke basis data seperti Oracle, MySQL, Informix, atau yang lain. Ada juga komponen yang berfungsi untuk memetakan data dari kolom sumber ke kolom target.

Komponen-komponen tersebut saling dihubungkan dengan garis yang di Talend ini disebut dengan “row” sehingga membentuk sebuah skenario aliran data. Jadi secara prinsip komponen-komponen tersebut bisa dibayangkan sebagai sebuah blok yang memiliki input dan output.

Dalam kebanyakan kasus sangat mungkin akan ditemui data yang inkonsisten (dengan spesifikasi yang ditetapkan) sehingga data tertolak alias tidak bisa dilanjutkan ke blok berikutnya. Talend Open Studio pun sudah menyediakan mekanisme untuk menindaklanjuti data-data yang tertolak itu. Kita bisa membuat skenario percabangan dari sebuah blok untuk data-data yang tertolak. Dari situ kita bisa menangkap kenapa data bisa tertolak.

Untuk kasus data yang memerlukan pemrosesan khusus, kita juga bisa mengkode logika tambahan untuk memproses data sebelum akhirnya masuk ke basis data target. Misal pada kasus perubahan format nomor NPWP dari yang sebelumnya tidak dipisah (xxxxx…), pada sistem baru nomor NPWP ingin diseragamkan dengan format yang menggunakan pemisah (seperti xx.xxx.xx…).

Logika bagaimana perubahan format itu akan dilakukan — aktivitas ini juga dikenal dengan istilah data transformation — bisa kita kode dengan bahasa Java memanfaatkan komponen bernama “tJava”. Kenapa bahasa Java, karena memang bahasa itulah yang digunakan oleh Talend.

Saat kita menyusun komponen-komponen tadi, Talend pun sebenarnya di belakang layar juga meng-generate kode dalam bahasa Java untuk menjalankan komponen-komponen tersebut. Karena itu, sebagaimana IDE lain pada Talend ini pun kita juga bisa melakukan debugging dengan meletakkan breakpoint pada kode yang ingin kita inspeksi.

Proses migrasi data yang tengah berjalan

Proses migrasi data yang tengah berjalan

Well, itulah sekilas mengenai kegunaan kakas Talend Open Studio dalam membantu proses migrasi data. Ada banyak komponen yang tersedia pada Talend Open Studio. Saya sendiri baru menggunakan sebagian kecil saja. Masih banyak yang bisa dieksplorasi.

Tantangannya mungkin ada pada dokumentasinya yang masih minim. Tutorial yang tersebar di internet juga tidak banyak. Itu pun contoh kasus yang diangkat umumnya tidak cukup kompleks. Tapi begitu kita memahami how it works secara general, insya Allah selanjutnya akan cukup mudah untuk memelajari komponen yang ada. 🙂

 

 

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s