Twierdzenie CAP vs. BASE (NoSQL)
Cześć, próbuję napisać mały artykuł na temat mojej pracy na temat NoSQL i opisałem Twierdzenie CAP jako, jeśli nie wszystkie, wówczas większość baz danych NoSQL przestrzega. Później przeczytałem artykuł na temat różnicy między NoSQL a RDBMS, w którym stwierdzono, że bazy danych NoSQL używają odpowiednika ACID BASE.
Znam właściwości BASE, ACID i CAP, ale trudno mi ustalić, jaki związek mają między sobą twierdzenie CAP i BASE. Jak rozumiem, twierdzenie CAP prowadzi do akronimu BASE, ale czy jest to właściwy wniosek? Czy może są to dwa różne podejścia do „zbudowania” bazy danych, wokół której występują podobne właściwości?
W tym poście na blogu (http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/) autor pisze:
Trudniej jest opracowywać oprogramowanie w świecie BASE odpornym na uszkodzenia w porównaniu do wybrednego świata ACID, ale twierdzenie Brewera o CAP mówi, że nie masz wyboru, jeśli chcesz zwiększyć skalę. Jednak, jak wskazuje Brewer w tej prezentacji, istnieje kontinuum między ACID a BASE. Możesz zdecydować, jak blisko chcesz być na jednym końcu kontinuum lub na drugim, zgodnie ze swoimi priorytetami.
W innym artykule autor pisze:
Wiele baz danych NOSQL przede wszystkim rozluźniło wymagania dotyczące spójności w celu uzyskania lepszej dostępności i podziału na partycje. Spowodowało to, że systemy znane są jako BASE (zasadniczo dostępny, stan miękki, ostatecznie spójny). Nie zawierają one transakcji w klasycznym znaczeniu i wprowadzają ograniczenia modelu danych, aby umożliwić lepsze schematy partycji (takie jak system Dynamo itp.). Bardziej kompleksowa dyskusja na temat CAP, ACID i BASE jest dostępna we wstępie.
To wyraźnie stwierdza, że WPR powoduje BAZĘ.
Mam nadzieję, że ktoś mi to wyjaśni i usunie zamieszanie.
Dzięki
- Mestika