Kontrak data
Tanggung jawab didistribusikan antar domain dalam arsitektur federasi, yang dapat menyulitkan Anda untuk mengawasi dependensi dan mendapatkan wawasan penggunaan data. Kontrak data dapat membantu Anda mendapatkan wawasan penggunaan data karena mereka memberikan informasi tentang siapa yang memiliki setiap produk data. Kontrak data membantu Anda menetapkan standar dan mengelola alur data Anda dengan percaya diri. Mereka sangat penting untuk manajemen data yang kuat, memberi Anda informasi tentang:
Produk data mana yang sedang dikonsumsi.
Pengguna mana yang mengkonsumsi produk data mana.
Tujuan apa yang mengarahkan pengguna untuk mengonsumsi produk data tertentu.
Distribusi dan penggunaan produk data memiliki dua dimensi: masalah teknis dan masalah bisnis. Masalah teknis termasuk penanganan alur data dan ekspektasi stabilitas data bersama. Masalah bisnis termasuk perjanjian tujuan berbagi data, yang menentukan tujuan penggunaan, privasi, dan tujuan, termasuk batasan apa pun.
Dua dimensi melibatkan peran yang berbeda. Umumnya, Anda harus mengandalkan pemilik aplikasi atau teknisi data untuk masalah teknis, dan mengandalkan pemilik produk atau perwakilan bisnis untuk masalah bisnis.
Kontrak data
Kontrak data mirip dengan kontrak layanan atau kontrak pengiriman data.
Dalam arsitektur yang lebih besar atau terdistribusi, mungkin sulit bagi Anda untuk mengawasi perubahan. Anda dapat menyederhanakan pengawasan dengan menerapkan penerapan versi dan mengelola kompatibilitas setiap kali Anda memiliki produk data yang populer dan banyak digunakan.
Jika aplikasi digabungkan, itu menunjukkan ada tingkat interdependensi yang tinggi antara aplikasi yang digabungkan. Aplikasi yang mengakses atau mengonsumsi data dari aplikasi lain selalu menderita ketika digabungkan. Setiap perubahan pada struktur data, misalnya, kemungkinan akan secara langsung memengaruhi aplikasi lain yang mengakses atau menggunakan data tersebut. Dalam situasi di mana Anda memiliki banyak aplikasi yang digabungkan bersama-sama, adalah umum untuk menemukan efek berkait di mana perubahan kecil pada satu aplikasi memengaruhi banyak aplikasi lain. Karena meningkatnya kemungkinan efek yang tidak diinginkan setelah perubahan kecil, banyak arsitek dan insinyur perangkat lunak menghindari membangun arsitektur yang digabungkan.
Kontrak data menjamin kompatibilitas antarmuka dan mencakup ketentuan layanan dan perjanjian tingkat layanan (SLA). Ketentuan layanan menguraikan bagaimana data dapat digunakan, seperti membatasi penggunaannya hanya untuk pengembangan, pengujian, atau produksi. SLA menjelaskan kualitas pengiriman dan antarmuka data yang diperlukan. Detail kualitas yang mungkin Anda tentukan dalam SLA meliputi:
- Uptime
- Tingkat kesalahan
- Ketersediaan
- Penghentian
- Peta strategi
- Nomor versi
Anda dapat menempatkan metadata yang menangkap detail ini di bawah kontrol sumber, yang memungkinkan pemicu validasi dan penyebaran otomatis. Untuk informasi selengkapnya tentang kontrol sumber, lihat Kontrol sumber di Azure Data Factory.
Kontrak data memberikan wawasan tentang konektor dan dependensi antara domain dan aplikasi. Kontrak juga memungkinkan pengujian kontrak, yang memastikan bahwa semua perubahan aplikasi dan antarmuka divalidasi terhadap persyaratan data konsumen Anda. Anda dapat mengetahui kapan aliran data Anda menjadi rentan terhadap perubahan sumber data upstram dengan mendeteksi penyimpangan skema. Untuk informasi selengkapnya, lihat Penyimpangan skema dalam aliran data pemetaan.
Kontrak data sering menjadi bagian dari kerangka kerja penyerapan berbasis metadata. Anda dapat menyimpan kontrak data dalam rekaman metadata dalam metastore yang dikelola secara terpusat. Dari lokasi pusat tersebut, kontrak data Anda memainkan peran penting dalam data beberapa area penyerapan data, termasuk:
Eksekusi alur
Pembuatan produk data
Validasi jenis data
Schemas
Standar interoperabilitas
Versi protokol
Aturan default pada data yang hilang
Kontrak data melibatkan metadata teknis dalam jumlah besar. Untuk men dokumentasikan alur data dan produk data, Anda harus memiliki deskripsi yang jelas tentang sumber data Anda, semua transformasi yang telah dijalani data Anda, dan bagaimana Anda akhirnya mengirimkan data.
Dalam arsitektur terdistribusi, Anda mendistribusikan kerangka kerja alur data di berbagai domain, dan domain sesuai dengan cara kerja yang sama. Karena domain memproses data itu sendiri, kontrol dan tanggung jawab tetap bersama mereka, sementara kerangka kerja dan metadata tetap berada di bawah tata kelola pusat.
Saat menerapkan metode federasi, mulai dari yang kecil. Mulailah dengan dasar-dasar, seperti penyimpanan metadata untuk validasi skema, pengidentifikasi perusahaan, dan referensi ke himpunan data lain di repositori metadata bersama Anda. Tambahkan dukungan silsilah data untuk membantu Anda memvisualisasikan pergerakan data. Bootstrap proses Anda dan gunakan pustaka seperti Great Expectations untuk menerapkan kontrol untuk validasi kualitas data teknis.
Semua kontrol Anda harus menjadi bagian dari prosedur integrasi berkelanjutan Anda. Ambil semua informasi runtime, termasuk metrik dan pengelogan, dan jadikan informasi tersebut sebagai bagian dari fondasi metadata Anda untuk mendapatkan wawasan stabilitas alur data. Penyiapan ini memastikan bahwa Anda memiliki perulangan umpan balik antara domain Anda dan kokpit manajemen pusat Anda.
Saat Anda menstabilkan semua pergerakan data, ambil atribut data mana (seperti tabel dan kolom) yang digunakan konsumen data dan gunakan informasi ini untuk terus menskalakan. Anda dapat menyertakan informasi ini di metastore yang dikelola secara terpusat. Informasi penggunaan data memungkinkan Anda mendeteksi perubahan yang melanggar dan mengidentifikasi efeknya pada produsen dan konsumen data Anda. Jika himpunan data produk data tidak memiliki konsumen, Anda dapat mengizinkannya mengalami perubahan yang mengganggu. Gunakan kontrol sumber (seperti Git) untuk memungkinkan proses jabat tangan antara penyedia dan konsumen data Anda.
Perjanjian berbagi data
Perjanjian berbagi data adalah perpanjangan kontrak data. Perjanjian menguraikan penggunaan data, privasi, dan tujuan, termasuk batasan apa pun. Perjanjian berbagi data bersifat independen antarmuka dan menawarkan wawasan tentang data apa yang digunakan untuk tujuan tertentu. Mereka juga berfungsi sebagai input untuk kontrol keamanan data. Anda dapat menggunakan perjanjian berbagi data untuk menguraikan filter atau perlindungan keamanan mana yang harus diterapkan ke data Anda.
Perjanjian berbagi data juga membantu mencegah miskomunikasi atas penggunaan data. Pemilik domain harus membahas masalah berbagi data dan penggunaan data sebelum data dibagikan. Memiliki pemahaman umum sangat penting bagi kemampuan Anda untuk mengatur data dan penggunaannya dan memastikan Anda dapat memberikan nilai kepada organisasi Anda. Setelah semua pemilik domain mencapai pemahaman kolaboratif, pastikan pemilik domain mendeklaborasikannya dalam perjanjian berbagi data. Dalam perjanjian ini, Anda juga dapat mengatasi area seperti:
Kualitas data fungsi
Historisasi
Manajemen siklus hidup data
Distribusi data lebih lanjut
Terapkan klasifikasi dan kondisi seperti label sensitivitas atau kondisi pemfilteran untuk mengamankan data Anda.
Diagram bagian sebelumnya menunjukkan elemen tertentu berlabel sespan produk data. Sespan produk data adalah komponen atau lapisan untuk menyuntikkan eksekusi kebijakan, seperti kontrol akses data atau metode output konsumsi data. Ini adalah abstraksi keamanan yang menggunakan kontrak data untuk menangani penegakan keamanan atas data domain Anda. Anda dapat membuat sidecar produk data dari repositori kontrak data Anda sebagai daftar kontrol akses (ACL) atau tampilan tanpa server, atau Anda dapat membuatnya menggunakan himpunan data duplikat yang Anda pilih dan filter untuk konsumen tertentu. Bagaimanapun, tujuannya adalah untuk mendapatkan tampilan keamanan dari kontrak data Anda dengan cara yang sepenuhnya otomatis.
Sambungkan atribut kontrak data dan dokumentasi Anda. Pastikan Anda memberikan konteks semantik dan hubungan dengan glosarium Anda, sehingga konsumen Anda dapat memahami bagaimana persyaratan bisnis diterjemahkan ke implementasi yang sebenarnya. Jika hubungan dengan istilah bisnis penting bagi organisasi Anda, pertimbangkan untuk menerapkan kebijakan seperti hanya mengizinkan kontrak data dibuat setelah semua atribut produk data ditautkan ke entitas istilah bisnis. Anda mungkin juga menerapkan jenis kebijakan ini ke perubahan kontekstual seperti hubungan atau penyesuaian definisi.
Menggunakan kontrak data
Mulai lambat saat mulai menggunakan kontrak data. Jangan memperkenalkan terlalu banyak perubahan sekaligus; kontrak data memerlukan pergeseran budaya, dan pengguna Anda membutuhkan waktu untuk membiasakan diri dengan mereka dan memahami pentingnya kepemilikan data. Anda juga perlu menemukan titik manis antara terlalu sedikit dan terlalu banyak atribut metadata dalam kontrak data Anda.
Langkah-langkah berikut menguraikan proses penerapan kontrak data untuk organisasi Anda.
Pastikan alur data teknis Anda stabil. Kasus penggunaan tidak dapat mencapai produksi jika alur yang mereka tempuh melalui gangguan yang tidak terduga.
Tempatkan proses yang sederhana dan pragmatis saat Anda mulai menggunakan perjanjian berbagi. Anda dapat memulai dengan mendesain formulir atau templat sederhana di Microsoft Forms. Tulis dalam bahasa yang jelas dan ringkas yang dapat dipahami pembaca dengan mudah. Fokus fase pertama ini adalah pergeseran budaya dan mengumpulkan persyaratan. Pastikan Anda tidak terlalu mempersulit; terima proses manual, batasi persyaratan metadata awal Anda, dan ulangi hingga persyaratan tersebut stabil.
Setelah Anda memiliki proses pertama Anda dengan kuat, mulailah mengganti formulir manual Anda dengan aplikasi, database, dan/atau antrean pesan berbasis web. Tim tata kelola data pusat Anda masih harus bertanggung jawab atas pengawasan selama fase ini. Granularitas akses data pada saat ini biasanya terperinci, berfokus pada folder atau file. Jika memungkinkan, gunakan REST API untuk memprovisikan kebijakan akses data atau ACL Anda secara otomatis.
Menempatkan pemilik data atau pengurus data yang bertanggung jawab atas alur kerja yang kuat untuk manajemen persetujuan. Peran tata kelola data pusat Anda sekarang harus mengawasi persetujuan hanya dari peran backseat, dan meninjau semua kontrak data secara teratur. Pada titik ini, Anda harus memiliki katalog data seperti Azure Purview aktif dan berjalan yang menunjukkan semua produk data siap konsumsi Anda. Tingkatkan kemampuan penegakan data dan keamanan Anda dengan memungkinkan pemilihan dan pemfilteran terperinci, dan pertimbangkan untuk menggunakan teknik seperti masking data dinamis untuk mencegah data Anda diduplikasi.
Pada tahap akhir perjalanan implementasi kontrak data Anda, semuanya harus mandiri dan sepenuhnya otomatis. Pembelajaran mesin otomatis harus memprediksi persetujuan data. Keamanan
Pada akhir perjalanan Anda, semuanya akan menjadi layanan mandiri dan sepenuhnya otomatis. Ini termasuk penegakan keamanan otomatis dan pembelajaran mesin untuk memprediksi persetujuan data. Tampilan aman, misalnya, secara otomatis disebarkan setelah disetujui.
Kontrak data adalah tambahan yang relatif baru namun penting untuk arsitektur jala data, memberikan transparansi untuk penggunaan dan dependensi data. Fokus pada stabilitas teknis dan standardisasi saat Anda pertama kali mulai menggunakan kontrak data, lalu gunakan proses yang dipelajari pelajaran saat Anda melakukan iterasi. Bangun dan otomatiskan tata kelola data Anda secara perlahan sehingga Anda tidak meningkatkan overhead organisasi Anda.
Untuk informasi selengkapnya tentang pengamatan dan perjanjian berbagi data, lihat Panduan pemantauan cloud: Observabilitas.
Sebagai bagian dari dokumentasi kontrak data, Anda juga memerlukan persyaratan layanan dan perjanjian tingkat layanan (SLA). Gunakan SLA untuk menguraikan persyaratan kualitas untuk pengiriman data dan antarmuka Anda, termasuk untuk waktu aktif, tingkat kesalahan, dan ketersediaan. SLA juga dapat mencakup persyaratan penghentian, peta jalan, dan nomor versi yang perlu Anda tentukan.