Netflix baru-baru ini melancarkan Unified Data Architecture ( UDA ), sebuah sistem yang direka untuk menyelesaikan masalah pemecahan data merentasi tumpukan teknologi besar mereka. Pengumuman ini telah mencetuskan perbincangan sengit dalam komuniti teknologi mengenai sama ada model data universal adalah penyelesaian atau masalah yang menunggu untuk berlaku.
Janji dan Bahaya Model Data Universal
UDA Netflix bertujuan untuk membolehkan pasukan memodelkan sekali, mewakili di mana-mana dengan mencipta satu sumber kebenaran untuk konsep perniagaan seperti filem, pelakon, dan data pengguna. Sistem ini menjana skema secara automatik untuk platform yang berbeza - daripada API GraphQL kepada jadual pangkalan data - memastikan konsistensi merentasi seni bina mikroservis Netflix yang luas.
Walau bagaimanapun, komuniti teknologi berpecah mengenai sama ada pendekatan ini benar-benar berfungsi dalam praktik. Ramai pembangun menunjukkan ketegangan asas: walaupun model bersatu menjanjikan konsistensi, mereka juga mencipta halangan organisasi. Setiap perubahan kepada definisi data yang dikongsi kini memerlukan kelulusan daripada berbilang pasukan, berpotensi memperlahankan pembangunan dengan ketara.
Komponen Utama UDA:
- Model Domain: Menangkap konsep dan hubungan perniagaan
- Pemetaan: Menghubungkan model domain kepada penyimpanan data fizikal (pangkalan data, APIs)
- Projeksi: Menjana skema untuk sistem yang berbeza ( GraphQL , Avro , SQL )
- Graf Pengetahuan: Mewakili hubungan antara konsep data
- Upper: Metamodel untuk kebolehkembangan (butiran belum lagi terbuka kepada umum)
Pengajaran daripada Percubaan Terdahulu
Perbincangan mendedahkan bahawa Netflix bukanlah syarikat pertama yang mencuba pendekatan ini. Pembangun berkongsi pengalaman dengan sistem serupa di Uber (dipanggil Dragon ) dan organisasi besar lain. Kebanyakan usaha ini sama ada gagal sepenuhnya atau berjaya hanya dalam kes penggunaan yang sangat terhad dan khusus.
Satu wawasan utama daripada komuniti tertumpu pada sifat konsep perniagaan itu sendiri. Filem bermaksud perkara yang berbeza kepada pasukan kewangan Netflix (kontrak), pasukan infrastruktur (fail), dan pelanggan (kandungan hiburan). Cuba memaksa konteks berbeza ini ke dalam satu definisi universal sering mencipta lebih banyak masalah daripada menyelesaikannya.
Usaha Industri yang Serupa:
- ** Uber Dragon **: Sistem integrasi skema (tidak pernah dibuka sebagai sumber terbuka)
- ** LinkedIn Hydra **: Kesinambungan konsep Dragon (sumber terbuka)
- ** SAP **: Pendekatan skema tetap yang memerlukan penyesuaian pelanggan
- ** Epic EMR **: Sistem penjagaan kesihatan dengan cabaran model universal yang serupa
Dilema Mikroservis
Pengkritik berpendapat bahawa UDA mewakili langkah mundur daripada prinsip mikroservis, di mana setiap servis harus memiliki datanya secara bebas. Ironinya ialah Netflix membantu mempopularkan seni bina mikroservis, namun UDA seolah-olah bercanggah dengan falsafah tersebut dengan memusatkan definisi data.
Sesetengah pembangun mempersoalkan sama ada Netflix telah mencipta masalah yang tidak perlu diselesaikan. Mereka menunjukkan bahawa GraphQL sudah direka untuk menyediakan pandangan bersatu data tanpa memerlukan skema universal. Kewujudan berbilang definisi Movie mungkin sebenarnya adalah ciri, bukan pepijat.
Cabaran Pelaksanaan Teknikal
Selain kebimbangan falsafah, komuniti mengenal pasti cabaran praktikal dengan pendekatan UDA . Pengurusan versi menjadi kompleks apabila satu perubahan skema mempengaruhi berpuluh-puluh servis. Pengendalian ralat tidak jelas - jika satu sistem salah tafsir skema universal, bagaimana UDA mengesan dan membetulkan isu ini?
Sistem ini sangat bergantung pada teknologi RDF dan web semantik yang popular pada pertengahan 2000-an tetapi tidak pernah mencapai penggunaan meluas. Walaupun alat ini berkuasa, mereka menambah kerumitan yang sukar dikekalkan oleh banyak organisasi dalam jangka panjang.
Asas Teknikal:
- Dibina berdasarkan RDF ( Resource Description Framework )
- Menggunakan teknologi web semantik ( SPARQL , OWL )
- Disepadukan dengan Apollo Federation untuk GraphQL
- Menyokong penjanaan skema automatik merentasi pelbagai format
- Memanfaatkan graf pengetahuan untuk penemuan data dan keturunan
Pertukaran Tadbir Urus
Mungkin kebimbangan paling ketara yang dibangkitkan adalah organisasi dan bukannya teknikal. Model data universal memerlukan struktur tadbir urus yang kuat untuk mencegah huru-hara. Ini bermaksud jawatankuasa, proses kelulusan, dan overhed penyelarasan yang boleh memperlahankan inovasi.
Ia pada asasnya adalah masalah perniagaan, bukannya masalah teknikal, tetapi ia mempunyai kesan terhadap kelajuan pembangunan, jadi ia adalah masalah teknikal sekunder.
Arkitek Netflix mengakui kebimbangan ini tetapi berpendapat bahawa UDA direka untuk wujud bersama dengan sistem sedia ada dan bukannya menggantikannya sepenuhnya. Mereka menekankan bahawa penggunaan akan menjadi sukarela, tidak dimandatkan merentasi organisasi.
Memandang ke Hadapan
Perdebatan ini menyerlahkan cabaran yang lebih luas yang dihadapi syarikat teknologi besar: bagaimana untuk mengekalkan konsistensi dan mengurangkan duplikasi tanpa menyekat inovasi. UDA Netflix mewakili satu pendekatan, tetapi reaksi komuniti yang bercampur-campur menunjukkan tiada penyelesaian universal untuk masalah universal ini.
Sama ada UDA berjaya mungkin bergantung kurang pada merit teknikalnya dan lebih kepada keupayaan Netflix untuk menguruskan perubahan organisasi yang diperlukan. Rekod prestasi syarikat dengan peralihan seni bina berskala besar memberikan mereka kredibiliti, tetapi sejarah usaha serupa mencadangkan berhati-hati adalah wajar.
Perbincangan berterusan ketika syarikat lain memerhati eksperimen Netflix dengan minat, mengetahui mereka menghadapi cabaran serupa dalam seni bina data mereka sendiri.
Rujukan: Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix