CAP Teoremi ve BASE (NoSQL)


12

CAP Teoremi ve BASE (NoSQL)

Merhaba, NoSQL ile ilgili çalışmalarım için küçük bir yazı yazmaya çalışıyorum ve CAP Teoremini, hepsi değilse de çoğu NoSQL veritabanına bağlı olarak tanımladım. Daha sonra NoSQL ve RDBMS arasındaki fark hakkında NoSQL veritabanlarının ACID muadili BASE'i kullandığını belirten bir makale okudum.

BASE, ASİD ve CAP'ın özelliklerini biliyorum ama CAP teoreminin ve BASE'in birbiriyle olan ilişkisini anlamakta zorlandım. Anladığım kadarıyla, CAP teoremi BASE kısaltmasına yol açıyor ama doğru sonuç mu? Yoksa benzer özellikleri paylaşan bir veritabanı "oluşturmak" için iki farklı yaklaşım mı ??

Bu blog yazısında (http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/) yazar şöyle yazar:

Titiz ACID dünyasına kıyasla hataya dayanıklı BASE dünyasında yazılım geliştirmek daha zordur, ancak Brewer'in CAP teoremi ölçeklendirmek istiyorsanız başka seçeneğiniz olmadığını söylüyor. Bununla birlikte, Brewer'ın bu sunumda belirttiği gibi, ASİT ve BASE arasında bir süreklilik vardır. Önceliğinize göre sürekliliğin bir ucuna veya diğer ucuna ne kadar yakın olmak istediğinize karar verebilirsiniz.

Başka bir makalede yazar şöyle yazar:

Her şeyden önce NOSQL veritabanlarının çoğu, daha iyi Kullanılabilirlik ve Bölümleme elde etmek için Tutarlılık gereksinimlerini gevşetmiştir. Bu, BASE (Temel Olarak Kullanılabilir, Yumuşak Durum, Sonunda tutarlı) olarak bilinen sistemlerle sonuçlandı. Bunların klasik anlamda hiçbir işlemi yoktur ve daha iyi bölümleme şemaları (Dinamo sistemi vb.) Sağlamak için veri modeli üzerinde kısıtlamalar getirmektedir. Bu girişte CAP, ASİT ve BASE hakkında daha kapsamlı bir tartışma mevcuttur.

Bu , CAP'ın BASE ile sonuçlandığını açıkça belirtir .

Umarım birisi bunu bana açıklığa kavuşturabilir ve karışıklığımı giderebilir ..

Teşekkürler
- Mestika

Yanıtlar:


15

CAP temelde BASE ve ASID'in zıt uçlarda olduğu bir sürekliliktir.

CAP Diyagramı

CAP Tutarlılık, Kullanılabilirlik ve Bölüm toleransıdır. Temel olarak bunlardan 2 tanesini seçebilirsiniz, ancak 3 tanesinin hepsini yapamazsınız.

ASID Tutarlılık ve kullanılabilirliğe odaklanır.

BASE , Bölüm toleransı ve kullanılabilirliğine odaklanır ve tutarlılığı pencereden dışarı atar.


1
İyi bir ACID veritabanı Tutarlılık ve Bölüm toleransına odaklanmalıdır, çünkü bölüm toleransını pencereden dışarı atmak (kelimelerinize koymak için) bir bölüm oluştuğunda tutarlılığı bozar.
peter

ASİT yok değil kullanılabilirlik odaklanır. 'A' Atomisite anlamına gelir ve iptal etme - geri alma - yeniden başlatma gibi şeyleri kapsar.
momo
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.