BASE terminolojisinin açıklaması


170

BAZ kısaltması belirli veri tabanları, genellikle NoSQL veritabanları özelliklerini tarif etmek için kullanılır. Genellikle ACID'nin tersi olarak adlandırılır .

BASE'in ayrıntılarına değinen sadece birkaç makale bulunurken, ACID'in atomiklik, tutarlılık, izolasyon ve dayanıklılık özelliklerinin her birini ayrıntılı olarak anlatan birçok eşya vardır. Wikipedia terime sadece birkaç satır ayırır .

Bu bana tanım hakkında bazı sorular bırakıyor :

B asically bir gurupları, S sık sık durum, E ventual tutarlılık

Bu makaleyi ve hayal gücümü kullanarak bu özellikleri şu şekilde yorumladım :

Temel olarak, verilerin algılanan kullanılabilirliğine işaret edebilir. Tek bir düğüm başarısız olursa, verilerin bir kısmı kullanılamaz, ancak tüm veri katmanı çalışır durumda kalır.

  • Bu yorum doğru mu yoksa başka bir şeye atıfta bulunuyor mu?
  • Güncelleme: Mau'nun cevabından çıkarılması , tüm veri katmanının her zaman yeni verileri kabul ettiği anlamına gelir, yani verilerin hemen eklenmesini engelleyen kilitleme senaryoları yok mu?

Yumuşak durum : Tek bulabildiğim dönem yenilemesine ihtiyaç duyan veri kavramıydı. Yenileme yapılmazsa verilerin süresi dolar veya silinir.

  • Veritabanındaki verilerin otomatik olarak silinmesi bana garip geliyor.
  • Süresi dolmuş veya eski veriler daha anlamlı. Ancak bu kavram, yalnızca NoSQL için değil, her türlü yedek veri depolaması için geçerlidir. O zaman başka bir şey tarif ediyor mu?

Nihai tutarlılık , güncellemelerin yeterli süre verildiğinde sonunda tüm sunuculara dağıtılacağı anlamına gelir.

  • Bu özellik benim için açık.

Birisi bu özellikleri ayrıntılı olarak açıklayabilir mi?

Yoksa sadece kimyada bulunan asit ve baz kavramlarına atıfta bulunan çok uzak ve anlamsız bir kısaltma mıdır?

Yanıtlar:


194

BASE kısaltması, CAP teoremini formüle ettiği de bilinen Eric Brewer tarafından tanımlandı .

CAP teoremi, dağıtılmış bir bilgisayar sisteminin aşağıdaki üç özelliğin tümünü aynı anda garanti edemeyeceğini belirtir:

  • Tutarlılık
  • Kullanılabilirlik
  • Bölüm toleransı

Bir BASE sistemi tutarlılıktan vazgeçer.

  • Temelde mevcut sistem olduğunu gösterir yapar CAP teoremi açısından, garanti kullanılabilirliğini.
  • Yumuşak durum , sistem durumunun, giriş yapılmasa bile zaman içinde değişebileceğini gösterir. Bunun nedeni nihai tutarlılık modeli.
  • Nihai tutarlılık , sistemin o süre boyunca girdi almadığı göz önüne alındığında sistemin zaman içinde tutarlı hale geleceğini gösterir.

Brewer kısaltmanın yapıldığını itiraf ediyor :

O yılın başlarında öğrencilerimle birlikte [BASE] kısaltmasını buldum. Ben biraz yapıldığına katılıyorum, ama bu yüzden "ASİT" - insanların fark daha çok, bu yüzden yeterince iyi olduğunu düşündüm.


33
Temel olarak kullanılabilirliği, kullanılabilirliği garanti ETMEZ. çoğunlukla kullanılabilir, ancak sunucular çeşitli nedenlerden dolayı çökebilir.
DarthVader

@Neils, ASID kullanılabilirlik veya patition toleransından vazgeçiyor mu?
Pacerier

@Pacerier, CAP teoreminin kusurlarını göstermeye başladığı yer :) Sistem bölüm toleransını garanti ederse, bölüm olması durumunda kullanılabilirliği feda eder. Sistem kullanılabilirliği garanti ederse, bölüm toleransından vazgeçer, yani bir bölüm sistemi kullanılamaz (veya tutarsız) yapar. Böylece 'kullanılabilirlik' ve 'bölüm toleransı' nın el ele gittiğini görebilirsiniz. Bu makalede daha fazla ayrıntı var .
Niels van der Rest

1
Bilimsel olmayan bir şekilde, ancak gözlemlerimden, Web Servisleri hakkında konuşurken, ACID çoğunlukla SOAP ile ilişkilidir ve BASE, REST (RESTful) hizmetleriyle daha yakından ilişkilidir. Ve Sonunda tutarlılık hakkında daha ayrıntılı bir tartışma için MongoDB ve CouchDB destekçileri arasındaki tartışmaya bakın.
charles ross

CAP "teoremi" matematiksel olarak disseke edilir (ama çok okunabilir) ve makalesini okuduğum Mark Burgess tarafından benzersiz bir şekilde akıllıca tartışılır . (Orada ilk başta Wikipedia ile bağlandım .)
Wildcard

45

O ilgisi var BASE : TABAN atlama tür bir yumuşak halde (son çok uzun olan ilişkisi hiçbiri) ve (bir gün o Sonunda tutarlı, (yeni ilişkilere) her zaman Temelde Mevcut olan olacak evlenmek).


Peki, ASID veritabanlarının BASE'den çok daha iyi olduğunu mu söylüyorsunuz?
Pacerier

2
Au contraire, BASE her zaman daha eğlencelidir.
Mau

8
Aslında bu benim günlük ekmeğim ve ciddi bir cevap istiyorsanız, ASİT.
Mau

1
@Pacerier Eric Brewer BASE terimini icat etti, bankalar ve finans kurumları ACID kısıtlamaları hakkında konuşurken, gerçekte kesinlikle konuşmadığını söylüyorlar ( highscalability.com/blog/2013/5/1/… )
ve

2
@Pacerier ve Mau, NewSQL ne olacak? NoSQL (BASE) ve ilişkisel (ACID) üzerinden seçer misiniz?
Boris Mocialov

6
  • Temel Kullanılabilirlik : Veritabanı çoğu zaman çalışır gibi görünür.

  • Yumuşak Durum : Mağazaların yazma tutarlılığı veya karşılıklı olarak tutarlı olması gerekmez.

  • Nihai tutarlılık : Veriler, herhangi bir sayıda değişikliğin nasıl gerçekleştirildiği konusunda daima tutarlı olmalıdır.


4

ACID ve BASE, sırasıyla RDBMS ve NoSQL için tutarlılık modelleridir. ASİT işlemleri çok daha kötümserdir, yani veri güvenliği konusunda daha fazla endişe duymaktadırlar. NoSQL veritabanı dünyasında, bazı veritabanları ölçeklenebilirlik ve esneklik gibi diğer faydalar elde etmek için acil tutarlılık, veri tazeliği ve doğruluk gereksinimlerini gevşettiğinden ASİT işlemleri daha az modadır.

BASE -

  • Temel Kullanılabilirlik - Veritabanı çoğu zaman çalışır gibi görünür.
  • Yumuşak durum - Mağazaların yazma tutarlılığı veya farklı kopyaların her zaman karşılıklı tutarlı olması gerekmez.
  • Nihai tutarlılık - Mağazalar daha sonraki bir noktada tutarlılık gösterir (örneğin, okuma zamanında tembel olarak).

Bu nedenle BASE, sistemin talebi tutarsız bir durumda bile işlemesine izin vermek için tutarlılığı azaltır.

Örnek : Tweet'lerinin kısa bir süre için sosyal ağlarında tutarsız olup olmadığını kimse umursamaz. Anında yanıt almak, tutarlı bir kullanıcı bilgisine sahip olmaktan daha önemlidir.


1
Nihai Tutarlılığın aslında istenmeyen etkisi vardır. LinkedIn sohbetlerinde yavaşlama yaşadınız mı? Bir cümle ile cevap veriyorsunuz ve sonra bir cümle ile cevap veriyorsunuz. Daha sonra, Nihai Tutarlılık veya doğru bir şekilde uygulanamaması nedeniyle, iki cevabınızın birlikte değiştirilmesiyle sonuçlanırsınız. Evet, sonunda sohbette 2 yanıt aldınız, ancak istenen sırada değiller.
zmechanic

2

Diğer cevaplara eklemek için, kısaltmaların RDMS ile Büyük Veri arasında nerede güvenilir işlemlerin veya taleplerin ne kadar güvenilir olduğunu ayırt etmek için iki terim arasında bir ölçek göstermek için türetildiğini düşünüyorum.

Bu makaleden asit ve baz

Kimyada pH, sulu (çözücü içinde su) bir çözeltinin nispi bazikliğini ve asitliğini ölçer. PH ölçeği 0'dan (pil asidi gibi yüksek oranda asidik maddeler) 14'e (yalan gibi yüksek oranda alkalin maddeler); 25 ° C'deki 77 ° F'deki saf suyun pH'ı 7'dir ve nötrdür.

Veri mühendisleri kimyacılardan zemine karşı akıllıca asit ödünç aldılar ve anlamları tam olarak olmasa da, işlem işleminin güvenilirliğini tartışırken belirli bir veritabanı sisteminde neler olup bittiğini temsil eden kısaltmalar oluşturdular.

Elasticsearch kullanarak Big Data ile çalıştığım için başka bir nokta. Açıklığa kavuşturmak için, Elasticsearch'ün bir örneği bir düğümdür ve bir grup düğüm bir küme oluşturur.

Benim için pratik bir bakış açısından, BA (Temel Olarak Kullanılabilir), bu bağlamda, Elasticsearch kümesini ve işlemlerini işlemek için birden fazla ana düğüm fikrine sahiptir.

3 ana düğümünüz varsa ve o anda yönlendiren ana düğüm azalırsa, sistem daha az verimli bir durumda da olsa kalır ve başka bir ana düğüm ana yönlendirme ana düğümü olarak yerini alır. İki ana düğüm aşağı inerse, sistem hala kalır ve son ana düğüm devralınır.


0

Bunun nedeni, ACID'in maddelerin (Kimya'da) gösterdiği bir özellik kümesi olması ve BASE'in bir tamamlayıcı set olması olabilir.Bu nedenle, sadece ikisi arasında kısaltmanın oluşturulduğu ve daha sonra 'Temelde Kullanılabilir Yumuşak Devlet Sonunda Tutarlılık 'tam biçiminde kararlaştırıldı.


2
Bu, kısaltmanın nasıl var olduğunu açıklayabilir, ancak çeşitli özelliklerin ne anlama geldiğini açıklamaz .
17mb

Getirdikleri anlam açısından bile önemli olmayan 'Temelde' gibi kelimelerin kullanılması, kısaltmanın önce seçildiğini (ACID vs BASE) ve daha sonra kelimelerin kısaltma bölümlerini doldurduğunu ortaya koydu. . Bu yüzden muhtemelen bu kelimelerin ne anlama geldiğine dair çok fazla açıklama ve referans bulamıyoruz (açıklaması RDBMS hakkında konuşan her sayfada bulabileceğiniz ACID kelimelerine kıyasla).
siebenheaven

Bunu ilginç buluyorum, çünkü "Temelde Kullanılabilir" çok zorlanmış gibi görünüyor.
Ricardo Pedroni
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.