tft每日頭條

 > 科技

 > 分布式數據管理有哪些方式

分布式數據管理有哪些方式

科技 更新时间:2024-12-22 03:00:50
CAP的意義及發展

在系統架構時,應該根據具體的業務場景來權衡CAP。比如,對于大多數互聯網應用來說(如門戶網站),因為機器數量龐大,部署節點分散,網絡故障是常态的,可用性是必須保證的,所以隻有舍棄一緻性來保證服務的AP。而對于銀行等需要确保一緻性的場景,通常會權衡CA和CP模型,CA模型網絡故障時完全不可用,CP模型具備部分可用性。

分布式數據管理有哪些方式(分布式系統開發實戰)1

CAP最新發展

Eric Brewer在2012年發表文章指出了CAP裡面“三選二”的做法存在一定的誤導性。主要體現在以下3個方面。

·由于分區很少發生,那麼在系統不存在分區的情況下沒什麼理由犧牲C或A。

·C與A之間的取舍可以在同一系統内以非常細小的粒度反複發生,而每一次的決策可能因為具體的操作,乃至因為牽涉特定的數據或用戶而有所不同。

·這3種性質都可以在一定程度上衡量,并不是非黑即白的有或無。

可用性顯然是在0%~100%連續變化的,一緻性分很多級别,連分區也可以細分為不同含義,如系統内的不同部分對于是否存在分區可以有不一樣的認知。

理解CAP理論最簡單的方式是想象兩個節點分處分區兩側。允許至少一個節點更新狀态會導緻數據不一緻,即喪失了C性質。如果為了保證數據一緻性,将分區一側的節點設置為不可用,那麼又喪失了A性質。除非兩個節點可以互相通信,才能既保證C又保證A,但這又會導緻喪失P性質。一般來說跨區域的系統,設計師無法舍棄P性質,那麼就隻能在數據一緻性和可用性上做一個艱難選擇。不确切地說,NoSQL運動的主題其實是創造各種可用性優先、數據一緻性其次的方案,而傳統數據庫堅守ACID特性,做的是相反的事情。

BASE

BASE(Basically Available、Soft state、Eventual consistency)來自互聯網的電子商務領域的實踐,它是基于CAP理論逐步演化而來的,核心思想是即便不能達到強一緻性(Strong Consistency),但可以根據應用特點采用适當的方式來達到最終一緻性(Eventual Consistency)的效果。BASE是對CAP中C和A的延伸。BASE的含義如下。

·Basically Available:基本可用。

·Soft state:軟狀态/柔性事務,即狀态可以有一段時間的不同步。

·Eventual consistency:最終一緻性。

BASE是反ACID的,它完全不同于ACID模型,犧牲強一緻性,獲得基本可用性、柔性和可靠性,并要求達到最終一緻性。

本文給大家講解的内容是分布式系統開發實戰: 數據一緻性, CAP的意義及發展
  1. 下篇文章給大家講解的是分布式系統開發實戰:數據一緻性,以數據為中心的一緻性模型;
  2. 覺得文章不錯的朋友可以轉發此文關注小編;
  3. 感謝大家的支持!
,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved