Koherensi Data

Data yang koheren adalah data yang sama di seluruh jaringan. Dengan kata lain, jika data koheren, data di server dan semua klien disinkronkan. Salah satu jenis sistem perangkat lunak yang menyediakan koherensi data adalah sistem kontrol revisi (RCS). Sistem seperti itu biasanya cukup sederhana, dengan hanya satu pengguna yang diizinkan untuk memodifikasi file tertentu pada satu waktu. Orang lain dapat membaca file tetapi tidak dapat mengubahnya.

Pengguna yang dapat mengubah file dikatakan telah memeriksanya. Pengguna kemudian memeriksa file yang dimodifikasi sehingga orang lain mungkin melihat perubahan. Hanya setelah pengguna memeriksa kembali file, pengguna lain dapat memeriksanya.

RCS memerlukan intervensi aktif pengguna untuk beroperasi dengan cara yang berguna. Sistem file yang beroperasi di seluruh jaringan harus menangani masalah secara otomatis.

Menyediakan penembolokan lokal data koheren cukup sederhana ketika Anda memiliki satu utas pada satu klien yang mengakses file di seluruh jaringan pada satu waktu. Namun, dalam kebanyakan situasi banyak utas yang berbeda pada satu atau beberapa komputer mungkin membaca file yang sama. Situasi ini masih cukup mudah. Karena data dalam file bersifat statis, setiap komputer klien dapat memiliki salinan lokalnya sendiri tanpa implikasi untuk koherensi data.

Situasi yang lebih umum adalah satu utas yang memodifikasi file, dan banyak utas lain membacanya. Saat operasi tulis terjadi, semua cache lokal file tersebut sudah usang. Server harus memberi tahu setiap klien untuk meninggalkan cache-nya. Setiap operasi baca berikutnya untuk file harus dilakukan di seluruh jaringan.

Dalam situasi umum lainnya, beberapa utas pada satu atau beberapa klien jaringan mungkin mencoba menulis ke file yang sama. Situasi ini mirip dengan situasi di mana beberapa pengguna RCS semuanya ingin membuat perubahan pada file yang sama. Setiap pengguna secara berurutan harus memeriksa file, membuat perubahan, lalu memeriksa kembali file. Demikian pula, dalam skema penembolokan lokal, server harus menyerahkan hak istimewa menulis ke file ke satu utas klien pada satu waktu.