Oleh: Kodrat Wahyudi
Sebuah pendekatan untuk menyederhanakan data warehouse
Awalnya, ketika kita akan mulai membentuk arsitektur data warehouse kita, pertanyaan pertama yang seharusnya diajukan adalah: arsitektur apa yang tepat untuk Data Warehouse? Kemudian, setelah melalui beberapa penelitian, disadari bahwa tidak ada arsitektur yang benar atau salah. Itu selalu tergantung pada kebutuhan kita.
Meskipun demikian, ada beberapa “prinsip arsitektur” datawarehouse yang berguna, yang diakui di industri yang harus diingat ketika mulai membangun data warehouse kita. Inilah tiga prinsip dasar yang akan banyak membantu kita saat membangun arsitektur data warehouse:
- Build decoupled systems – Bangun sistem yang terpisah, yaitu, data warehousing, jangan mencoba untuk menyatukan semua proses. Satu skala ukuran tidak akan cocok untuk semua. Jadi, pahami sifat proses dan gunakan alat yang tepat untuk pekerjaan yang tepat.
- Implement functional data pipelines, yaitu, data yang berasal dari jalur pipeline harus mudah direproduksi — misalnya, jika kita ingin menjalankan kembali suatu proses, kita harus memastikan bahwa proses itu akan selalu menghasilkan hasil yang sama. Hal ini dapat dicapai dengan menegakkan Paradigma Rekayasa Data Fungsional.
- Implement an immutable staging area, yaitu, data harus disimpan di area staging yang tidak dapat diubah. Dari sana, data harus diubah dan dimuat ke Data Warehouse
Setelah mengikuti prinsip-prinsip tersebut, proses penyimpanan data menjadi sedikit lebih mudah.
Prinsip pertama: Membangun sistem yang dipisahkan
Prinsip ini mengikuti prinsip Separation of concern. Hal ini didasarkan pada asumsi bahwa setiap sistem harus menangani suatu masalah sedemikian rupa sehingga perhatian tersebut harus dirangkum oleh sistem itu sendiri.
Khususnya, data warehousing dapat dipisahkan menjadi empat masalah yang dapat dianggap sebagai bagian dari data pipeline: collect, store, process/analyze, dan consume —. Jadi, setiap sistem yang merupakan bagian dari data pipeline harus merangkum tanggung jawab salah satu dari empat masalah ini.
Prinsip kedua: Menerapkan functional data pipelines
Prinsip ini didasarkan pada Paradigma Rekayasa Data Fungsional, yang merupakan upaya untuk membawa paradigma pemrograman fungsional ke disiplin rekayasa data.
Menerapkan jalur data fungsional didasarkan pada pendefinisian proses data di atas pure tasks. Menurut Maxime Beauchemin:
“Pure task harus deterministik dan idempoten, artinya akan menghasilkan hasil yang sama setiap kali dijalankan atau dijalankan kembali”
Jadi, proses ekstraksi, transformasi, atau pemuatan apa pun harus mengikuti standar pure task
Prinsip ketiga: Menerapkan staging area yang tidak dapat diubah
Prinsip ini didasarkan pada penerapan area staging pada data pipeline kita di mana data seharusnya secara ideal disimpan dalam bentuk aslinya — atau dekat dengan bentuk aslinya.
PT Berca Hardayaperkasa di dalam salah satu portfolio utamanya, juga menyediakan solusi Data warehouse, baik on premises maupun on-cloud. Untuk pertanyaan serta diskusi lebih lanjut, silahkan klik di sini.