Table of Contents
Modelele de coerenţă definesc modul în care datele sunt sincronizate în sistemele distribuite. Înţelegerea acestor modele ajută la proiectarea sistemelor care îndeplinesc cerinţele specifice de performanţă şi fiabilitate. Acest articol explorează exemple practice şi calcule legate de diferite modele de consistenţă.
Tipuri de modele de coerență
Modelele comune de consistență includ eventuala coerență, consistență puternică și coerență cauzală. Fiecare oferă garanții diferite cu privire la vizibilitatea datelor și sincronizarea între noduri.
Exemplu practic: Operaţiuni de citire şi de scriere
Consideră o bază de date distribuită cu trei noduri. Un utilizator scrie date la nodul A, iar un alt utilizator citește de la nodul B. Modelul de consistență determină dacă citirea reflectă cea mai recentă scriere.
Calcule pentru garanții de coerență
Să presupunem că sistemul are o întârziere de rețea de 50 milisecunde. În eventuala consistență, datele pot lua până la această întârziere pentru a sincroniza între noduri. Pentru consistență puternică, sistemul trebuie să aștepte confirmări din toate nodurile înainte de a confirma o scriere, creșterea latenței.
- Coerență finală: Datele se propagă asincronic, cu posibile lecturi vechi.
- Coerență puternică: Citirile reflectă întotdeauna ultima scriere, cu o latență mai mare.
- Coerența cauzală: Se asigură că actualizările legate de cauzal sunt observate în ordine.
- Impact de urgență: Consistența puternică poate adăuga întârzieri proporționale cu numărul de noduri.