EN - FR - DE - ES - IT - PT -

LexiconDream

⚖️ データ一貫性

異なるシステム間でデータの一貫性を確保する。

データ一貫性

データの一貫性とは、同じデータがあらゆる場所で同じように表示されることを意味します。請求システムに登録されている顧客の住所は、配送システムに登録されている住所と一致していなければなりません。倉庫の在庫数は、ウェブサイト上の在庫数と一致していなければなりません。システム間で情報が食い違うと、誤った判断が下されます。注文品が古い住所に発送されたり、顧客が在庫切れの商品を購入したりする事態が発生します。相互に依存するシステムにとって、データの一貫性は必須条件です。

分散システムでは、一貫性を維持するのが難しい。複数のサーバーに複製されたデータは、同期がずれる可能性がある。ネットワーク分断が発生すると、ある領域が別の領域から隔離される。どちらの領域も書き込みを受け付ける。分断が解消されると、データに競合が発生する。CAP定理によれば、一貫性、可用性、分断耐性は実現可能だが、3つすべてを同時に実現することはできない。ほとんどの分散データベースは、可用性と結果的一貫性を選択する。これは、データが時間とともに収束するものの、異なるノードが異なる値を見る期間が存在することを意味する。強力な一貫性を実現するには調整が必要であり、レイテンシが増加する。選択はアプリケーションによって異なる。銀行の台帳には強力な一貫性が必要だが、ソーシャルメディアのフィードは結果的一貫性で十分だ。正解は普遍的なものではない。データの不一致によって何が壊れるかによって決まる。

一貫性モデル

一貫性には幅がある。問題は、アプリケーションがどの程度の不整合を許容できるか、そしてそれを超えると動作が停止してしまうかということだ。


Warning: session_start(): Cannot start session when headers already sent in /var/www/lexicondream.com/inc/functions.php on line 63

Comments

No comments yet. Be the first to share a thought.

Leave a comment