ASİT ve CAP teoreminde tutarlılık aynı mıdır?


18

Anladığım kadarıyla, ACID'deki tutarlılık veri bütünlüğünü sağlamaktır.

Ancak CAP'taki tutarlılık, verilerin dağıtılmış sistemde hızlı bir şekilde görünebileceği anlamına gelir.

Bu şu anlama geliyor: aynı kavram değiller mi?

Yanıtlar:


18

Verilerin kapsamı nedeniyle gerçekten aynı değiller

ASİT

CAP

  • Tutarlılık (Tüm Düğümlerin Nihai Tutarlılık Üzerinden Aynı Verileri Var)
  • Kullanılabilirlik
  • Bölüm-Tolerans: Sistem, rastgele mesaj kaybına veya sistemin bir kısmının arızalanmasına rağmen çalışmaya devam eder

ÖZET

  • ACID, tek bir düğümün veri tutarlılığını giderir
  • CAP, küme genelinde veri tutarlılığını giderir

1
Eventual. Sonunda cesur olmalı Rolando. Bu anlaşma kırıcı :) Yeni Yılınız Kutlu Olsun!
Philᵀᴹ

3

CAP teoremi : dağıtılmış bir sistemin iki hizmet (ör. Kullanılabilirlik ve Bölüm toleransı) sağlayabileceğini ancak asla üç sağlayamayacağını belirtir. Örneğin, bir hizmet Kullanılabilirlik ve Bölümleme sağlarsa, hiçbir zaman hemen değil Tutarlılığı sağlayamaz, bu nedenle altyapının tutarsızlık ve tutarlılık arasında akmasına izin veren Sonunda Tutarlılık kullanılır, ancak bir noktada, er ya da geç, altyapı tutarlı hale gelir sonuçta tutarlılık ile sonuçlanır. Bulut hizmetleri bu şekilde çalışır ve Amazon'un Basit Veri Tabanı nihai tutarlılığı kullanır.

ASİT özellikleri genellikle ilişkisel DB'lere uygulanır. ACID'yi dağıtılmış bir şekilde (dağıtılmış DB) uygulamak istiyorsanız, ACID bölümler arasında tutarlılığı zorlamak için 2PC (iki aşamalı kesinleştirme) kullanır. Bununla birlikte, ACID tutarlılık ve bölümleme sağladığı için, (dağıtılmış ortamlar) için CAP teoreminin uygulanması, kullanılabilirliğin tehlikeye atılacağı anlamına gelecektir.

Bu nedenle, ACID ile elde edilemeyen ölçeklenebilirlik seviyeleri sağlayabilen BASE (Temelde mevcut, yumuşak durum, sonunda tutarlı) kullanılır.

Bu yardımcı olur umarım.


-1

CAP teoremindeki Tutarlılık ile ilgili olarak Julian Brown makalesinde ( http://www.julianbrowne.com/article/brewers-cap-theorem ) :

Tutarlı bir hizmet tam olarak çalışır ya da hiç olmaz. Gilbert ve Lynch, ispatlarında tutarlı olmak yerine “atomik” kelimesini kullanırlar, bu da teknik olarak daha mantıklıdır, çünkü kesinlikle konuşmak gerekirse, ACID'deki veritabanı işlemlerinin ideal özelliklerine uygulanan C tutarlıdır ve verilerin asla kalıcı olmayacağı anlamına gelir. önceden belirlenmiş bazı kısıtlamaları ihlal eder. Ancak, aynı veri parçası için birden fazla değere izin verilmeyen dağıtılmış sistemlerin önceden belirlenmiş bir kısıtlaması olduğunu düşünüyorsanız, soyutlamadaki sızıntının tıkandığını düşünüyorum (artı, Brewer atom kelimesini kullansaydı, buna AAP denirdi) ve bunu telaffuz etmeye çalıştığımızda hepimiz hastanedeydik).

Böylece CAP'deki C , ACID'deki A'ya karşılık gelir .

İle Gilbert ve Lynch o makaleye atıfta ": Bira varsayım ve tutarlı, mevcuttur, bölüm dayanıklı web hizmetlerinin fizibilite Seth Gilbert ve Nancy Lynch"


1
CAP tutarlılığı dağıtılmış bir sistem için geçerliyken, ACID kendisini sistem mimarisinin bu seviyesinden soyutlar. ACID atomisitesinin uygulanması için CAP kıvamı gerekli olabilir, ancak aynı şey değildir.
mustaccio

Brewer kendisini CAP teoremini ACID ile ilişkilendirdiğinden ( people.eecs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf Sayfa 2 & 3) her ikisi de.
white_gecko
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.