Bayangkan sebuah perusahaan besar dengan banyak divisi. Tim marketing membutuhkan data pelanggan untuk membuat strategi baru. Tim produk membutuhkan data penggunaan aplikasi. Tim keuangan membutuhkan data transaksi, sementara tim operasional membutuhkan data untuk memantau proses bisnis. Namun, semua kebutuhan tersebut harus melalui satu tim data terpusat yang sama.
Awalnya, hal ini mungkin tidak terlihat sebagai masalah. Namun, semakin besar organisasi dan semakin banyak sistem informasi yang digunakan, jumlah data yang dihasilkan juga ikut meningkat. Permintaan dari berbagai divisi akhirnya menumpuk pada tim yang sama. Tim marketing harus menunggu data pelanggan, tim produk menunggu dataset untuk analisis, dan tim keuangan juga memiliki kebutuhan datanya sendiri. Data sebenarnya tersedia, tetapi proses untuk mengakses dan menggunakannya menjadi lambat.
Kondisi ini sering disebut sebagai data bottleneck. Salah satu pendekatan yang semakin banyak mendapat perhatian dalam pengelolaan sistem informasi modern untuk mengatasi masalah ini adalah Data Mesh.
Apa Itu Data Mesh?
Secara sederhana, Data Mesh adalah pendekatan pengelolaan data yang memberikan tanggung jawab kepada tim bisnis atau domain yang paling memahami data tersebut. Dengan kata lain, tidak semua data harus dikelola oleh satu tim data terpusat.
Misalnya, tim marketing dapat bertanggung jawab terhadap data marketing, tim keuangan dapat mengelola data keuangan, dan tim supply chain dapat bertanggung jawab terhadap data yang berkaitan dengan proses supply chain. Setiap tim memahami konteks datanya sekaligus bertanggung jawab untuk memastikan data tersebut tetap berkualitas dan dapat digunakan oleh tim lain.
Konsep ini pertama kali diperkenalkan oleh Zhamak Dehghani pada 2019 dan kemudian berkembang menjadi salah satu pendekatan yang digunakan dalam arsitektur data modern.
Sebelumnya, organisasi cenderung berpikir bahwa semua data harus dikumpulkan dan dikelola di satu tempat. Data Mesh menawarkan pendekatan yang berbeda. Data dapat berasal dari berbagai domain, tetapi setiap domain bertanggung jawab terhadap data yang mereka hasilkan dan menyediakan data tersebut agar dapat digunakan oleh bagian lain dalam organisasi.
Mengapa Data Terpusat Bisa Menjadi Masalah?
Untuk memahami Data Mesh, kita perlu melihat masalah yang ingin diselesaikan oleh pendekatan ini terlebih dahulu.
Data warehouse dan data lake masih banyak digunakan dalam sistem informasi perusahaan karena mampu mengumpulkan data dari berbagai sumber. Namun, ketika seluruh kebutuhan data organisasi bergantung pada satu tim pusat, masalah dapat muncul ketika jumlah permintaan semakin meningkat.
Bayangkan satu tim harus menangani data penjualan, pelanggan, keuangan, inventori, operasional, dan berbagai jenis data lainnya. Di saat yang sama, setiap divisi memiliki kebutuhan dan prioritas yang berbeda.
Tim pusat akhirnya menjadi seperti sebuah "pintu masuk" untuk setiap permintaan yang berkaitan dengan data. Ketika tim marketing membutuhkan dataset baru, mereka harus mengajukan permintaan. Ketika tim produk membutuhkan jenis data lain, proses yang sama kembali terjadi. Semakin banyak permintaan yang masuk, semakin besar kemungkinan terbentuknya antrean.
Masalahnya bukan karena tim pusat tidak mampu mengelola data. Sebaliknya, terlalu banyak tanggung jawab yang terkonsentrasi pada satu tim membuat keseluruhan proses pengelolaan data menjadi semakin sulit.
Ketergantungan ini dapat dikurangi dengan memberikan lebih banyak tanggung jawab kepada domain yang paling dekat dengan data melalui Data Mesh.
Empat Prinsip yang Membentuk Arsitektur Ini
Agar pendekatan ini dapat berjalan dengan efektif, empat prinsip utama menjadi dasar dari Data Mesh. Prinsip-prinsip tersebut berkaitan erat dengan bagaimana sistem informasi dirancang dan dikelola dalam sebuah organisasi.
Pertama, Kepemilikan Data Diatur Berdasarkan Domain
Setiap domain bisnis bertanggung jawab terhadap data yang mereka hasilkan. Misalnya, tim penjualan memahami data transaksi karena mereka terlibat langsung dalam proses penjualan. Demikian juga tim dukungan pelanggan yang memiliki pemahaman lebih baik mengenai data interaksi dengan pelanggan.
Pendekatan ini membuat orang yang paling memahami konteks data juga ikut bertanggung jawab terhadap kualitas dan pengelolaannya.
Kedua, data diperlakukan sebagai produk.
Data yang dimiliki oleh sebuah tim tidak hanya disimpan dan digunakan untuk kebutuhan lokal. Data tersebut juga perlu dipersiapkan agar dapat digunakan oleh tim lain.
Misalnya, tim penjualan menyediakan dataset transaksi. Mereka perlu memastikan bahwa data tersebut memiliki dokumentasi yang jelas, mudah ditemukan, memiliki kualitas yang baik, dan tersedia untuk tim marketing atau keuangan ketika dibutuhkan.
Dengan cara ini, data tidak lagi hanya dianggap sebagai hasil dari sebuah proses sistem informasi, tetapi sebagai produk yang memiliki penggunanya sendiri.
Ketiga, Menggunakan Platform yang Dapat Dikelola Secara Mandiri
Memberikan tanggung jawab kepada setiap domain bukan berarti setiap tim harus membangun infrastrukturnya sendiri dari awal. Organisasi tetap dapat menyediakan platform bersama untuk penyimpanan, pengolahan data, keamanan, monitoring, dan berbagai kebutuhan terkait data lainnya.
Dengan adanya platform ini, tim domain dapat mengelola datanya sendiri tanpa harus membangun seluruh infrastruktur dari awal.
Pendekatan ini memungkinkan sistem informasi tetap memiliki fondasi yang terkontrol sekaligus memberikan fleksibilitas yang lebih besar kepada masing-masing tim.
Keempat, memiliki tata kelola bersama.
Desentralisasi bukan berarti setiap tim dapat mengelola data tanpa aturan. Organisasi tetap membutuhkan standar bersama mengenai keamanan, format data, kualitas data, hak akses, dan privasi.
Standar tersebut berlaku di seluruh domain agar data dari berbagai bagian organisasi tetap dapat dipahami dan digunakan dengan baik.
Dengan kata lain, pendekatan ini berusaha menyeimbangkan kebebasan setiap domain dengan aturan yang harus diikuti oleh seluruh organisasi.
Bagaimana Pendekatan Ini Dapat Diterapkan di Perusahaan
Pendekatan ini telah menarik perhatian perusahaan yang menangani data dalam jumlah besar dan memiliki kebutuhan bisnis yang kompleks.
Sebagai contoh, Netflix menghadapi kompleksitas data yang semakin meningkat seiring dengan berkembangnya layanan mereka. Data yang berkaitan dengan rekomendasi konten, user engagement, dan performa platform memiliki karakteristik serta kebutuhan yang berbeda.
Melalui kepemilikan berbasis domain, tim yang paling memahami suatu area dapat memiliki tanggung jawab yang lebih besar terhadap informasi yang mereka hasilkan. Informasi tersebut kemudian dapat disediakan untuk digunakan oleh tim lain yang membutuhkannya.
Shopify menghadapi tantangan yang berbeda karena menangani data dalam jumlah besar dari jutaan toko online. Setiap bagian bisnis memiliki kebutuhan data yang berbeda, sehingga memberikan tanggung jawab lebih besar kepada domain tertentu dapat membantu tim bekerja lebih cepat tanpa selalu bergantung pada satu tim pusat.
Contoh-contoh tersebut menunjukkan bahwa pendekatan ini bukan sekadar perubahan pada teknologi atau arsitektur database. Cara organisasi membagi tanggung jawab, mengelola informasi, dan bekerja dengan data juga ikut berubah.
Apakah Pendekatan Ini Menggantikan Data Warehouse?
Ada satu kesalahpahaman yang umum mengenai Data Mesh: menerapkannya bukan berarti perusahaan harus meninggalkan data warehouse atau data lake.
Gagasan utama di balik Data Mesh adalah sebuah pendekatan terhadap arsitektur dan tata kelola data, bukan teknologi penyimpanan yang menggantikan sistem yang sudah ada. Perusahaan tetap dapat menggunakan data warehouse, data lake, maupun teknologi lainnya. Yang berubah adalah bagaimana data tersebut dimiliki, dikelola, dan disediakan kepada pengguna di berbagai domain.
Dalam praktiknya, perusahaan juga dapat menggunakan pendekatan hybrid. Data yang membutuhkan kontrol lebih ketat, seperti data keuangan atau data pelanggan, tetap dapat dikelola secara terpusat. Sementara itu, domain lain dapat memiliki lebih banyak fleksibilitas dalam mengelola data yang menjadi tanggung jawab mereka.
Hal ini menunjukkan bahwa ketika merancang sistem informasi, tidak selalu ada satu pendekatan yang cocok untuk setiap organisasi. Arsitektur perlu disesuaikan dengan ukuran perusahaan, kebutuhan bisnis, jenis input, serta kemampuan tim yang ada.
Tantangan Implementasi
Mengurangi ketergantungan pada satu tim data melalui Data Mesh juga dapat membawa tantangan baru.
Ketika tanggung jawab data dibagi ke berbagai tim, setiap tim harus siap mengelola datanya sendiri. Mereka tidak hanya bertanggung jawab untuk menggunakan data, tetapi juga menjaga kualitasnya, membuat dokumentasi, memastikan keamanan, dan menyediakan data agar dapat digunakan oleh tim lain.
Jika tanggung jawab tersebut tidak dilakukan dengan baik, organisasi dapat menghadapi masalah baru. Data dapat menjadi semakin tersebar, sulit ditemukan, memiliki format yang tidak konsisten, atau bahkan memiliki kualitas yang tidak dapat diandalkan.
Karena itu, keberhasilan Data Mesh tidak hanya ditentukan oleh teknologi. Organisasi juga perlu mengubah cara kerja dan budaya pengelolaan data secara keseluruhan. Setiap domain perlu memahami bahwa data yang mereka miliki bukan hanya untuk kebutuhan tim sendiri. Data tersebut juga dapat menjadi bagian dari sistem informasi yang digunakan bersama oleh seluruh organisasi.
Data yang Terdistribusi dan Tetap Terhubung
Pada akhirnya, pendekatan ini membantu mengatasi kompleksitas pengelolaan informasi yang semakin meningkat dalam organisasi melalui Data Mesh. Data tidak harus dikumpulkan dan dikelola oleh satu tim, tetapi data yang terdistribusi tetap membutuhkan koordinasi.
Setiap domain perlu bertanggung jawab terhadap datanya, data harus memiliki standar kualitas dan dokumentasi yang jelas, infrastruktur sebaiknya dapat digunakan bersama jika diperlukan, dan aturan bersama tetap harus diterapkan untuk memastikan semuanya dapat berjalan secara konsisten.
Pengelolaan data bukan satu-satunya hal yang dipengaruhi oleh Data Mesh. Pendekatan ini juga menunjukkan bagaimana teknologi, proses bisnis, manusia, dan data perlu dirancang bersama agar sistem informasi dapat bekerja secara efektif. Seiring dengan semakin pentingnya data, organisasi juga perlu memastikan bahwa data mereka tetap mudah ditemukan, dapat dipercaya, dan dapat digunakan oleh berbagai tim.