Copy and Paste

Anda bebas mengambil content blog ini, tapi mohon sebutkan alamat blog ini dalam tulisan Anda.

You are free to copy the content of my blog. However, please let your readers know my blog as your source.

Jumat, 23 Februari 2018

Data Warehouse di Hadoop

Sejak teknologi Hadoop ngetren beberapa tahun lalu, banyak praktisi yang berpikir untuk menerapkan data warehousing dengan teknologi big data ini. Bahkan muncul juga istilah baru (yes, another buzzword) data lake sebagai pengganti atau pelengkap data warehouse. Di kantor kami, ada juga wawasan ke sana, tetapi masih belum betul-betul bergulir implementasinya.

Sebelum kita menjajaki lebih jauh kemungkinan penerapan data lake atau apapun istilahnya dengan menggunakan Hadoop, perlu kita ketahui alasan atau latar belakang munculnya gagasan ini. Ada beberapa alasan. Yang pertama, banyak perusahaan yang menerapkan data warehousing, setelah sukses pengembangan dan implementasinya di tahun-tahun pertama, menghadapi masalah skalabilitas. Pengalaman yang berulang kali terjadi, saya dengar, adalah keharusan untuk merombak atau mengembangkan ulang data warehouse setelah tiga sampai lima tahun. Tentunya konsekuensi biayanya bikin hati miris. Opsi penggunaan teknologi alternatif NoSQL seperti Hadoop untuk mengganti data warehouse yang lama menjadi menarik.

Kedua, teknologi Hadoop adalah teknologi open source yang dipersepsi lebih murah dibandingkan RDBMS seperti katakanlah Oracle dan MS SQL, meskipun pada akhirnya ada biaya yang tetap harus dikeluarkan jika perusahaan membutuhkan support yang dapat diandalkan, misalnya dengan men-subscribe Cloudera atau Hortonworks atau yang lain. Biaya ini tidak terhindarkan, tapi tetap persepsinya lebih murah. Yang bikin masalah adalah Hadoop tidak mengenal fitur update, padahal dalam beberapa hal data warehousing membutuhkan update. Untuk mengatasinya dibutuhkan pendekatan yang berbeda dari sebelumnya. Muncullah beberapa pendekatan baru, di antaranya data lake.

Ketiga, perusahaan membutuhkan segala jenis data, baik yang terstruktur, setengah terstruktur, maupun tidak terstruktur sama sekali. RDBMS tidak pas untuk mengolah data yang setengah terstruktur, apalagi yang tidak terstruktur sama sekali. Teknologi Hadoop dengan schemeless repository punya keunggulan signifikan dibandingkan RDBMS. Pada ujung yang paling ekstrem, katanya, kita bisa cemplungkan segala sesuatu ke dalam Hadoop tanpa harus peduli dengan skema atau struktur tabelnya. Skema baru dibutuhkan ketika membaca data, tidak pada saat menulis data ke Hadoop. Tentu saja kita mesti hati-hati dengan pandangan ekstrem yang too good to be true seperti itu.

Keempat, teknologi Hadoop memungkinkan proses yang sangat paralel dengan mendistribusikan beban pemrosesan ke distributed nodes yang secara mandiri masing-masing memiliki computing power dan storage sekaligus. Karena sifatnya terdistribusi ke simpul-simpul mandiri yang sendirinya memiliki computing power dan storage sekaligus, cluster Hadoop tidak butuh banyak data movement. Itu salah satu sebabnya Hadoop bisa sangat cepat. Di sini kita tidak akan mengelaborasi lebih dalam mengenai arsitektur Hadoop, mekanisme kerja, dan jeroannya. Cukuplah pembaca mencari sendiri di internet artikel-artikel yang hampir tidak terbatas mengenai hal teknis ini. Sebetulnya kemampuan pemrosesan secara paralel ini ada juga di RDBMS seperti Oracle, tapi jika kita menerapkan Hadoop, kita tidak membutuhkan server high end. Ini artinya lebih murah. Jika suatu saat diperlukan tambahan kapasitas, kita tinggal menambah sejumlah server mid range atau bahkan bisa juga low end ke cluster Hadoop yang telah kita miliki. Skalabilitas yang mengagumkan! 

Kembali pada gagasan membuat data warehouse di atas Hadoop, saya ingin menceritakan sedikit mengenai pemodelan dan metodologi Data Vault, saat ini sudah DV 2.0, yang diciptakan oleh Dan Linstedt. Meskipun tidak pernah ketemu langsung dengan beliau, saya berinteraksi intensif dengan teman-teman yang memiliki sertifikat dari Dan Linstedt, sebagiannya anggota atau mantan anggota tim saya, sebagiannya lagi tim Hasnur Ramadhan. Hasnur Ramadhan adalah satu dari sedikit orang Indonesia yang memiliki sertifikasi DV. Bahkan dia berkali-kali memperbaharui sertifikatnya. Tidak heran kalau dia dekat dengan Dan Linstedt.

Dari interaksi dengan orang-orang hebat tersebut dan belajar dari materi Data Vault yang dibawa oleh Ginanjar dan Laksmi waktu dulu mereka berguru ke Dan Linstedt di Colorado ataupun materi yang tersedia di internet, saya dapat memahami metodologi DV ini secara konseptual. Malah pada kondisi tidak tersedia bahan belajar yang cukup, somehow I am capable of connecting the dots. Pemikiran pribadi sering saya diskusikan dengan tim saya, di antaranya Yudha dan Ahmal, dua anak muda berbakat yang memampukan kami menerapkan Data Vault di kantor, tentu saja pada beberapa hal dibantu dan terinspirasi oleh Pak Hasnur dan timnya yang hebat - ketika mereka menjadi konsultan kami di 2015 di proyek Julia.

Baru-baru ini, akhir Januari, Pak Hasnur kasih khabar ke saya. “Lagi di Berlin, ngambil DV 2.0 Bootcamp,” katanya. Tentu saja khabarnya dilengkapi foto berdua Dan Linstedt, yang kelihatan lebih berisi badannya. Saya minta sampaikan salam ke Daniel. Sayang acara sudah selesai dan beliau tidak ketemu lagi dengan Dan Linstedt. Setelah itu, baru berapa hari lalu, Pak Hasnur pamer sertifikat DV 2.0 ke saya lewat pesan WA. Dia juga kasih oleh-oleh gambar arsitektur DV 2.0 terbaru. Dia kemudian menawarkan integrasi DV dengan Cloudera. Kontan aja sifat usil saya muncul. Lantaran tahun 2015 waktu ngobrol dengan Pak Hasnur, saya sudah bilang mau implementasi DV di Hadoop, dan kebetulan saat ini kami memang sedang mencobanya. Saya bilang Pak Hasnur kali ini harus belajar ke kami, tapi dasar dia dari dulu ga mau kalah sama saya. “Ga certified,” katanya! Saya tunjukkan percakapan WA itu ke Yudha dan Ahmal. Kami tertawa-tawa. Lalu salah satunya bilang (bercanda) bahwa itu ofensif. Saya nyantai aja.

Perlu diketahui bahwa DV 2.0 sudah beberapa tahun lalu dipublikasi oleh Dan Linstedt. DV 1.0 jauh lebih awal di tahun 2000-an, yang diciptakannya berdasarkan pengalaman bertahun-tahun sebelumnya menjadi konsultan pengembangan sistem-sistem besar dengan skala terabyte bahkan petabyte. Saya mengikutinya di dunia maya. Saya juga mengikuti Dan Linstedt bubar dengan beberapa rekannya di awal-awal mempromosikan Data Vault. Kemudian dia bermitra dengan orang baru. Pada saat-saat itu, lahirlah DV 2.0.

Terus terang saya mengikuti newsletter dari Dan Linstedt dan rekannya. Beberapa artikel di email dan beberapa video dari "Dan and Sanjay" (ya orang India) saya pelajari. Secukupnya sih, selama saya ada waktu di tengah pekerjaan yang menumpuk. Di tahun 2015 itu, saya sudah tahu dari kiriman email “Dan and Sanjay” bahwa DV 2.0 bisa diterapkan di atas Hadoop. Saya tidak perlu sertifikasi untuk mengatakan bahwa kami akan terapkan DV di atas Hadoop. Saya juga tidak perlu menunggu sertifikasi untuk menerapkan hash key di DV, menggantikan sequence key. Beda dengan Pak Hasnur. Beliau lebih butuh landasan akademik dan profesional. Hal ini bisa dipahami karena beliau adalah konsultan yang jualan di industri.

Mungkin pembaca ada yang ragu juga. Apa memang bisa menerapkan EDW berbasis Data Vault di atas Hadoop? Untuk pembaca yang seperti itu, ada baiknya ikut DV 2.0 Bootcamp atau kelas DV 2.0 lainnya. Jadwalnya sudah dipublikasi. Berdasarkan pengalaman tahun-tahun lalu, penyelenggaraannya tersebar di Amerika, Eropa, dan sedikit di Australia. Di Indonesia? Sayang sekali belum. Kalau Dan Linstedt mau buka kelas di Jakarta, pasti in syaa Allah saya hadir. Malah saya mau traktir dia, tentu saja kalau dia berkenan, dan saya mau pertemukan dia dengan tim saya yang warbiasah.

Pada titik ini, saya ingin menyarankan pembaca yang berencana membuat data warehouse di Hadoop atau membuat data lake, pakailah pemodelan dan metodologi DV 2.0. Data mudah ditata di dalam Data Vault. Menambahkan data baru - apakah hanya kolom baru, atau satu tabel transaksi, atau sekian banyak tabel baru - sangat mudah, tanpa mengganggu tabel-tabel yang sudah ada di DV. Sangat fleksibel! Proses ELT-nya sangat standard dan polanya mudah di-reuse. Kalau ada uang, DWA (Data Warehouse Automation) tools seperti BIReady dan WhereScape akan sangat membantu. Atau pembaca bisa bikin sendiri sistem DWA.

Apakah performance DV akan turun seiring dengan bertambahnya data dan tabel? Tidak, karena DV punya skalabilitas yang tinggi dan mendukung proses yang sangat paralel, terserah mau menggunakan Hadoop atau RDBMS yang mendukung MPP. DV juga sangat sangat sedikit melakukan proses lookup dalam tahapan ELT-nya. Ini tentu mendukung performance yang prima, dan yang tidak kalah penting tidak ada update di dalam proses ELT-nya. Fitur tidak ada update ini yang memungkinkan penerapan DV di Hadoop. Banyak lagi keunggulannya. Kami sudah membuktikannya di tempat kami. Faktanya, penerapan DV di seluruh dunia sangat sangat banyak dan terus tumbuh.

Jika pembaca masih belum percaya dan memilih metode lain atau berusaha membuat sendiri metodenya atau mengabaikan perlunya metodologi sembari mencemplungkan segala sesuatu ke dalam Hadoop, maka bersiaplah untuk membangun data lake tetapi pada akhirnya hanya menghasilkan data swamp! Atau mungkin ada juga yang berpikir persetan dengan Hadoop dan akan tetap menggunakan RDBMS kalau perlu berupa appliance, sembari tetap mengandalkan hanya star schema atau snowflake schema dari Ralph Kimball. Untuk yang memilih jalan ini, siap-siap saja dalam waktu tiga tahun untuk merombak data warehouse yang sudah dikembangkan, sambil menyalahkan infrastruktur!

Selengkapnya.....

addthis

Live Traffic Feed