Memastikan integriti data dalam pangkalan data Firebase yang dinyahnormalkan adalah penting untuk mengekalkan konsistensi merentas berbilang lokasi. Berikut ialah tiga pendekatan praktikal untuk menyegerakkan data nyahnormal:
Menggunakan penulisan berbilang laluan membolehkan anda mengemas kini berbilang laluan secara atom. Sebagai contoh, apabila anda mengemas kini nama pengguna dalam profil mereka, anda boleh mengemas kini nama pengguna secara serentak dalam semua mesej yang dikaitkan dengan pengguna tersebut:
var updates = {}; // all paths to be updated and their new values updates['users/'+uid+'/name'] = name; var query = ref.child('messages').orderByChild('user').equalTo(uid); query.once('value', function(snapshot) { snapshot.forEach(function(messageSnapshot) { updates['messages/'+messageSnapshot.key()+'/username'] = name; }) ref.update(updates); });
Jika mengekalkan konsistensi data segera adalah kurang kritikal, anda boleh menggunakan skrip sebelah pelayan untuk mengemas kini data secara tidak segerak. Pendekatan ini memastikan konsistensi akhirnya, kerana pangkalan data akhirnya akan mengejar dan mencerminkan nilai yang betul.
function renameUser(ref, uid, name) { ref.child('users').child(uid).update({ name: name }); var query = ref.child('messages').orderByChild('user').equalTo(uid); query.once('value', function(snapshot) { snapshot.forEach(function(messageSnapshot) { messageSnapshot.update({ username: name }); }) }); }
Dalam sesetengah kes, mungkin tidak perlu mengekalkan konsistensi merentas pendua data. Contohnya, dalam aplikasi sembang, nama pengguna mungkin boleh diterima seperti semasa mesej dihantar, dan bukannya mengemas kini semua mesej lalu untuk menggambarkan nama semasa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyegerakkan Data Nyahnormal dalam Firebase untuk Mengekalkan Integriti Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!