Mesh data adalah framework arsitektur dan organisasi yang memperlakukan data sebagai produk (dalam dokumen ini disebut "produk data"). Dalam framework ini, produk data dikembangkan oleh tim yang paling memahami data tersebut, dan yang mengikuti kumpulan standar tata kelola data di seluruh organisasi. Setelah produk data di-deploy ke mesh data, tim yang terdistribusi dalam suatu organisasi dapat menemukan dan mengakses data yang relevan dengan kebutuhan mereka secara lebih cepat dan efisien. Untuk mencapai mesh data yang berfungsi dengan baik, Anda harus terlebih dahulu menetapkan komponen arsitektur tingkat tinggi dan peran organisasi yang dijelaskan dalam dokumen ini.
Dokumen ini adalah bagian dari seri yang menjelaskan cara menerapkan mesh data di Google Cloud. Hal ini mengasumsikan bahwa Anda telah membaca dan memahami konsep yang dijelaskan dalam Membangun Data Mesh terdistribusi yang modern dengan Google Cloud.
Seri ini memiliki bagian-bagian sebagai berikut:
- Arsitektur dan fungsi dalam mesh data (dokumen ini)
- Mendesain platform data layanan mandiri untuk mesh data
- Membuat produk data dalam mesh data
- Menemukan dan menggunakan produk data dalam mesh data
Dalam seri ini, mesh data yang dijelaskan bersifat internal untuk organisasi. Meskipun Anda dapat memperluas arsitektur mesh data untuk menyediakan produk data kepada pihak ketiga, pendekatan yang diperluas ini berada di luar cakupan dokumen ini. Memperluas mesh data memerlukan pertimbangan tambahan selain penggunaan dalam organisasi.
Arsitektur
Istilah utama berikut digunakan untuk mendefinisikan komponen arsitektur yang dijelaskan dalam seri ini:
- Produk data: Produk data adalah container atau pengelompokan logis dari satu atau beberapa resource data terkait.
- Resource data: Resource data adalah aset fisik dalam sistem penyimpanan yang menyimpan data terstruktur atau menyimpan kueri yang menghasilkan data terstruktur.
- Atribut data: Atribut data adalah kolom atau elemen dari resource data.
Diagram berikut memberikan ringkasan komponen arsitektur utama dalam mesh data yang diterapkan di Google Cloud.
Diagram sebelumnya menunjukkan hal berikut:
- Layanan pusat memungkinkan pembuatan dan pengelolaan produk data, termasuk kebijakan organisasi yang memengaruhi peserta mesh data, kontrol akses (melalui grup Identity and Access Management), dan artefak khusus infrastruktur. Contoh komitmen dan pemesanan tersebut, serta infrastruktur yang memfasilitasi fungsi mesh data dijelaskan dalam Membuat komponen dan solusi platform.
- Layanan pusat terutama memasok Data Catalog untuk semua produk data dalam mesh data dan mekanisme penemuan bagi calon pelanggan produk tersebut. Untuk mempelajari cara mendaftarkan produk data di katalog data, lihat Menjelaskan dan mengatur produk dan resource data dalam mesh data.
- Domain data mengekspos subset datanya sebagai produk data melalui antarmuka pemakaian data yang didefinisikan dengan baik. Produk data ini dapat berupa tabel, tampilan, file terstruktur, topik, atau aliran data. Di BigQuery, data tersebut akan berupa set data, dan di Cloud Storage, berupa folder atau bucket. Mungkin ada berbagai jenis antarmuka yang dapat diekspos sebagai produk data. Contoh antarmuka adalah tampilan BigQuery pada tabel BigQuery. Jenis antarmuka yang paling umum digunakan untuk tujuan analisis dibahas dalam Membuat produk data dalam mesh data.
Implementasi referensi mesh data
Anda dapat menemukan implementasi referensi arsitektur ini di
repositori data-mesh-demo
.
Skrip Terraform yang digunakan dalam implementasi referensi menunjukkan
konsep mesh data dan tidak ditujukan untuk penggunaan produksi. Dengan menjalankan skrip
ini, Anda akan belajar bagaimana melakukan hal berikut:
- Memisahkan definisi produk dari data pokok.
- Membuat template Katalog Data untuk mendeskripsikan antarmuka produk.
- Memberikan tag pada antarmuka produk dengan template ini.
- Memberikan izin kepada konsumen produk.
Untuk antarmuka produk, implementasi referensi akan membuat dan menggunakan jenis antarmuka berikut:
- Tampilan yang diotorisasi atas tabel BigQuery.
- Aliran data berdasarkan topik Pub/Sub.
Untuk mengetahui detail selengkapnya, lihat file README di repositori.
Fungsi dalam mesh data
Agar mesh data dapat beroperasi dengan baik, Anda harus menentukan peran yang jelas untuk orang yang melakukan tugas dalam mesh data. Kepemilikan ditetapkan ke arketipe tim, atau fungsi. Fungsi ini menyimpan perjalanan pengguna inti untuk orang-orang yang bekerja di mesh data. Untuk menggambarkan perjalanan pengguna dengan jelas, mereka ditetapkan ke peran pengguna. Peran pengguna ini dapat dibagi dan digabungkan berdasarkan situasi setiap perusahaan. Anda tidak perlu memetakan peran secara langsung dengan karyawan atau tim di organisasi Anda.
Domain data selaras dengan unit bisnis (BU), atau fungsi dalam suatu perusahaan. Contoh umum domain bisnis mungkin adalah departemen hipotek di bank, atau departemen pelanggan, distribusi, keuangan, atau SDM pada suatu perusahaan. Secara konseptual, ada dua fungsi terkait domain dalam mesh data: tim produsen data dan tim konsumen data. Penting untuk dipahami bahwa satu domain data kemungkinan akan menjalankan kedua fungsi sekaligus. Tim domain data memproduksi produk data dari data yang mereka miliki. Tim ini juga memakai produk data untuk insight bisnis dan menghasilkan produk data turunan untuk penggunaan domain lain.
Selain fungsi berbasis domain, mesh data juga memiliki sekumpulan fungsi yang dilakukan oleh tim terpusat dalam organisasi. Tim pusat ini memungkinkan pengoperasian mesh data dengan menyediakan pengawasan, layanan, dan tata kelola lintas domain. Hal ini mengurangi beban operasional domain data dalam memproduksi dan memakai produk data, serta memfasilitasi hubungan lintas domain yang diperlukan agar mesh data dapat beroperasi.
Dokumen ini hanya menjelaskan fungsi yang memiliki peran khusus mesh data. Ada beberapa peran lain yang diperlukan di perusahaan mana pun, terlepas dari arsitektur yang digunakan untuk platform tersebut. Namun, peran lain tersebut berada di luar cakupan dokumen ini.
Empat fungsi utama dalam mesh data adalah sebagai berikut:
- Tim produsen berbasis domain data: Membuat dan mengelola produk data selama siklus prosesnya. Tim ini sering disebut sebagai produsen data.
- Tim konsumen berbasis domain data: Menemukan produk data dan menggunakannya di berbagai aplikasi analisis. Tim ini mungkin menggunakan produk data untuk membuat produk data baru. Tim ini sering disebut sebagai konsumen data.
- Tim tata kelola data pusat: Menentukan dan menerapkan kebijakan tata kelola data di antara produsen data, sehingga memastikan kualitas data tinggi dan kepercayaan data bagi konsumen. Tim ini sering disebut sebagai tim tata kelola data.
- Tim platform infrastruktur data mandiri pusat: Menyediakan platform data mandiri untuk produser data. Tim ini juga menyediakan alat untuk penemuan data pusat dan kemampuan observasi produk data yang digunakan baik oleh konsumen data maupun produsen data. Tim ini sering disebut sebagai tim platform data.
Fungsi tambahan opsional yang perlu dipertimbangkan adalah Center of Excellence (COE) untuk mesh data. Tujuan COE adalah untuk menyediakan pengelolaan mesh data. COE juga merupakan tim arbitrase yang ditunjuk yang menyelesaikan konflik yang timbul oleh fungsi lainnya. Fungsi ini berguna untuk membantu menghubungkan empat fungsi lainnya.
Tim produsen berbasis domain data
Biasanya, produk data di-build di atas repositori data fisik (baik satu atau beberapa data warehouse, lake, atau aliran data). Sebuah organisasi memerlukan peran platform data tradisional untuk membuat dan memelihara repositori fisik ini. Namun, peran platform data tradisional ini biasanya bukan orang-orang yang membuat produk data.
Untuk membuat produk data dari repositori fisik ini, organisasi memerlukan perpaduan praktisi data, seperti data engineer dan arsitek data. Tabel berikut mencantumkan semua peran pengguna khusus domain yang diperlukan dalam tim produsen data.
Peran |
Tanggung jawab |
Keterampilan yang diperlukan |
Hasil yang diinginkan |
---|---|---|---|
Pemilik produk data |
|
Analisis data Arsitektur data Pengelolaan produk |
|
Pemimpin teknis produk data |
|
Data engineering Arsitektur data Software engineering |
|
Dukungan produk data |
|
Software engineering Site Reliability Engineering (SRE) |
|
Pakar materi pokok (SME) untuk domain data |
|
Analisis data Arsitektur data |
|
Pemilik data |
|
|
|
Tim konsumen berbasis domain data
Dalam mesh data, orang yang memakai produk data biasanya adalah pengguna data yang berada di luar domain produk data. Konsumen data ini menggunakan katalog data sentral untuk menemukan produk data yang relevan dengan kebutuhan mereka. Karena mungkin lebih dari satu produk data dapat memenuhi kebutuhan mereka, konsumen data dapat berlangganan beberapa produk data.
Jika konsumen data tidak dapat menemukan produk data yang diperlukan untuk kasus penggunaan mereka, mereka bertanggung jawab untuk berkonsultasi langsung dengan COE mesh data. Selama konsultasi tersebut, konsumen data dapat mengajukan kebutuhan data mereka dan meminta saran agar kebutuhan tersebut terpenuhi di satu atau beberapa domain.
Saat mencari produk data, konsumen data mencari data yang membantu mereka mencapai berbagai kasus penggunaan, seperti dasbor dan laporan analisis persisten, laporan performa individual, dan metrik performa bisnis lainnya. Atau, konsumen data mungkin mencari produk data yang dapat digunakan dalam kasus penggunaan kecerdasan buatan (AI) dan machine learning (ML). Untuk mencapai berbagai kasus penggunaan ini, konsumen data memerlukan campuran persona praktisi data, yaitu sebagai berikut:
Peran |
Tanggung jawab |
Keterampilan yang diperlukan |
Hasil yang diinginkan |
---|---|---|---|
Analis data |
Menelusuri, mengidentifikasi, mengevaluasi, dan berlangganan produk data satu domain atau lintas domain untuk membuat dasar agar framework business intelligence dapat beroperasi. |
Engineering analisis Analisis bisnis |
|
Developer aplikasi |
Mengembangkan framework aplikasi untuk pemakaian data di satu atau beberapa produk data, baik di dalam maupun di luar domain. |
Pengembangan aplikasi Data engineering |
|
Spesialis visualisasi data |
|
Analisis persyaratan Visualisasi data |
|
Data scientist |
|
ML engineering Engineering analisis |
|
Tim tata kelola data pusat
Tim tata kelola data memungkinkan produsen dan konsumen data untuk berbagi, menggabungkan, dan menghitung data dengan aman secara mandiri, tanpa menimbulkan risiko kepatuhan pada organisasi.
Untuk memenuhi persyaratan kepatuhan organisasi, tim tata kelola data adalah campuran beberapa persona praktisi data, yaitu sebagai berikut:
Peran |
Tanggung jawab |
Keterampilan yang diperlukan |
Hasil yang diinginkan |
---|---|---|---|
Spesialis tata kelola data |
|
UKM hukum UKM keamanan UKM privasi data |
|
Data steward (berada di setiap domain) |
|
Arsitektur data Data stewardship |
|
Engineer tata kelola data |
|
Software engineering |
|
Tim platform infrastruktur data layanan mandiri pusat
Tim platform infrastruktur data layanan mandiri, atau hanya tim platform data, bertanggung jawab untuk membuat serangkaian komponen infrastruktur data. Tim domain data terdistribusi menggunakan komponen ini untuk mem-build dan men-deploy produk datanya. Tim platform data juga mempromosikan praktik terbaik serta memperkenalkan alat dan metodologi yang membantu mengurangi beban kognitif untuk tim terdistribusi saat mengadopsi teknologi baru.
Infrastruktur platform harus memberikan integrasi yang mudah dengan alat operasi untuk kemampuan observasi, instrumentasi, dan otomatisasi kepatuhan global. Atau, infrastruktur harus memfasilitasi integrasi tersebut untuk menyiapkan tim terdistribusi agar sukses.
Tim platform data memiliki model tanggung jawab bersama yang digunakannya dengan tim domain terdistribusi dan tim infrastruktur yang mendasarinya. Model ini menunjukkan tanggung jawab apa yang diharapkan dari konsumen platform, dan komponen platform apa yang didukung oleh tim platform data.
Karena platform data itu sendiri merupakan produk internal, platform ini tidak mendukung setiap kasus penggunaan. Sebaliknya, tim platform data terus merilis layanan dan fitur baru sesuai dengan roadmap yang diprioritaskan.
Tim platform data mungkin telah menerapkan dan sedang mengembangkan serangkaian komponen standar. Namun, tim domain data mungkin memilih untuk menggunakan kumpulan komponen yang berbeda dan unik jika kebutuhan tim tidak selaras dengan komponen yang disediakan oleh platform data. Jika tim domain data memilih pendekatan yang berbeda, mereka harus memastikan bahwa infrastruktur platform yang mereka bangun dan kelola mematuhi kebijakan serta batasan di seluruh organisasi untuk keamanan dan tata kelola data. Untuk infrastruktur platform data yang dikembangkan di luar tim platform data pusat, tim platform data dapat memilih untuk berinvestasi bersama atau menyematkan engineer mereka sendiri ke dalam tim domain. Apakah tim platform data memilih untuk berinvestasi bersama atau menyematkan engineer mungkin bergantung pada pentingnya infrastruktur platform domain data secara strategis bagi organisasi. Dengan terus terlibat dalam pengembangan infrastruktur oleh tim domain data, organisasi dapat memberikan penyelarasan dan keahlian teknis yang diperlukan untuk mengemas ulang komponen infrastruktur platform baru yang sedang dikembangkan untuk digunakan kembali di lain waktu.
Anda mungkin perlu membatasi otonomi pada tahap awal pembuatan mesh data jika sasaran awal Anda adalah mendapatkan persetujuan dari pemangku kepentingan untuk meningkatkan skala mesh data. Namun, membatasi otonomi berisiko akan menciptakan bottleneck pada tim platform data pusat. Bottleneck ini dapat menghambat mesh data dari penskalaan. Jadi, setiap keputusan sentralisasi harus diambil dengan hati-hati. Untuk produsen data, membuat pilihan teknis dari serangkaian opsi yang terbatas mungkin lebih disarankan daripada mengevaluasi dan memilih sendiri dari daftar opsi yang tidak terbatas. Mempromosikan otonomi produsen data tidak berarti menciptakan lanskap teknologi yang tidak terkendali. Sebaliknya, sasarannya adalah untuk mendorong kepatuhan dan adopsi platform dengan mencapai keseimbangan yang tepat antara kebebasan memilih dan standardisasi.
Terakhir, tim platform data yang baik merupakan sumber utama pendidikan dan praktik terbaik untuk bagian-bagian lain dalam perusahaan. Beberapa aktivitas paling berdampak yang kami rekomendasikan untuk dilakukan oleh tim platform data pusat adalah sebagai berikut:
- Mendukung peninjauan desain arsitektur rutin untuk berbagai project fungsional baru dan mengusulkan cara umum pengembangan di seluruh tim pengembangan.
- Berbagi pengetahuan dan pengalaman, serta secara kolektif menetapkan praktik terbaik dan pedoman arsitektur.
- Memastikan engineer memiliki alat yang tepat untuk memvalidasi dan memeriksa masalah umum, seperti masalah dengan kode, bug, dan penurunan performa.
- Mengorganisir hackathon internal sehingga tim pengembangan dapat menampilkan persyaratan mereka untuk kebutuhan alat internal.
Contoh peran dan tanggung jawab untuk tim platform data pusat dapat mencakup hal berikut:
Role | Tanggung Jawab | Keterampilan yang diperlukan |
Hasil yang diinginkan |
---|---|---|---|
Pemilik produk platform data |
|
Strategi dan operasi data Pengelolaan produk Pengelolaan pemangku kepentingan |
|
Engineer platform data |
|
Data engineering Software engineering |
|
Engineer platform dan keamanan (perwakilan dari tim IT pusat seperti jaringan dan keamanan, yang disematkan di tim platform data) |
|
Teknik infrastruktur Software engineering |
|
Enterprise architect |
|
Arsitektur data Iterasi solusi dan pemecahan masalah Membangun konsensus |
|
Pertimbangan tambahan untuk mesh data
Ada beberapa opsi arsitektur untuk platform data analisis, masing-masing opsi dengan prasyarat yang berbeda. Untuk mengaktifkan setiap arsitektur mesh data, sebaiknya organisasi Anda mengikuti praktik terbaik yang dijelaskan di bagian ini.
Mendapatkan pendanaan platform
Seperti yang dijelaskan dalam postingan blog, "If you want to transform start with finance", platform ini tidak pernah selesai: platform ini selalu beroperasi berdasarkan roadmap yang diprioritaskan. Oleh karena itu, platform tersebut harus didanai sebagai produk, bukan sebagai project dengan endpoint tetap.
Pengguna pertama mesh data akan menanggung biaya. Biasanya, biaya dibagi antara bisnis yang merupakan bagian dari domain data pertama yang memulai mesh data, dan tim teknologi pusat, yang umumnya menampung tim platform data pusat.
Untuk meyakinkan tim keuangan agar menyetujui pendanaan untuk platform pusat, sebaiknya buat kasus bisnis agar nilai platform terpusat terwujud dari waktu ke waktu. Nilai tersebut berasal dari penerapan kembali komponen yang sama dalam tim pengiriman individu.
Menentukan platform dengan kelayakan minimum untuk mesh data
Untuk membantu Anda menentukan platform dengan kelayakan minimum untuk mesh data, sebaiknya Anda melakukan uji coba dan iterasi dengan satu atau beberapa kasus bisnis. Untuk uji coba Anda, temukan kasus penggunaan yang diperlukan, dan ketika ada konsumen yang siap mengadopsi produk data yang dihasilkan. Kasus penggunaan harus sudah memiliki pendanaan untuk mengembangkan produk data, tetapi harus ada kebutuhan masukan dari tim teknis.
Pastikan tim yang mengimplementasikan uji coba ini memahami model operasi mesh data sebagai berikut:
- Bisnis (yaitu, tim produsen data) memiliki backlog, dukungan, dan pemeliharaan.
- Tim pusat menentukan pola layanan mandiri dan membantu bisnis membangun produk data, tetapi meneruskan produk data ke bisnis untuk dijalankan dan dimiliki setelah selesai.
- Tujuan utamanya adalah membuktikan model operasi bisnis (diproduksi oleh domain, dipakai oleh domain). Tujuan sekundernya adalah membuktikan model operasi teknis (pola layanan mandiri yang dikembangkan oleh tim pusat).
- Karena resource tim platform terbatas, gunakan model tim trunk dan cabang untuk menggabungkan pengetahuan, tetapi tetap memungkinkan pengembangan layanan dan produk platform khusus.
Sebaiknya Anda juga melakukan hal berikut:
- Daripada membiarkan layanan dan fitur berkembang secara organik, rencanakan roadmap.
- Tentukan kemampuan platform dengan kelayakan minimum, yang mencakup penyerapan, penyimpanan, pemrosesan, analisis, dan ML.
- Sematkan tata kelola data di setiap langkah, bukan sebagai alur kerja terpisah.
- Terapkan kemampuan minimum di tata kelola, platform, aliran nilai, dan manajemen perubahan. Kemampuan minimum adalah kemampuan yang memenuhi 80% kasus bisnis.
Merencanakan koeksistensi mesh data dengan platform data yang sudah ada
Banyak organisasi yang ingin mengimplementasikan mesh data kemungkinan sudah memiliki platform data yang sudah ada, seperti data lake, data warehouse, atau kombinasi keduanya. Sebelum mengimplementasikan mesh data, organisasi ini harus merencanakan perkembangan platform data yang sudah ada seiring pertumbuhan mesh data.
Organisasi tersebut sebaiknya mempertimbangkan faktor-faktor seperti berikut:
- Resource data yang paling efektif di mesh data.
- Aset yang harus tetap berada dalam platform data yang sudah ada.
- Apakah aset harus dipindahkan, atau apakah aset dapat dipertahankan di platform yang sudah ada dan masih berpartisipasi dalam mesh data.
Langkah selanjutnya
- Untuk mempelajari lebih lanjut cara merancang dan mengoperasikan topologi cloud, lihat Framework Arsitektur Google Cloud.
- Untuk arsitektur referensi, diagram, dan praktik terbaik lainnya, jelajahi Cloud Architecture Center.