Dlaczego Nosql nie jest kwasem

Opublikowany: 2022-11-19

Istnieje wiele dyskusji na temat tego, czy bazy danych NoSQL są „kwasowe”, czy nie. Głównym argumentem przemawiającym przeciwko złym zasadom baz danych NoSQL jest to, że nie obsługują one wszystkich funkcji tradycyjnej relacyjnej bazy danych . Bazy danych NoSQL są często zaprojektowane tak, aby były bardziej skalowalne i łatwiejsze w użyciu niż relacyjna baza danych, ale poświęcają niektóre funkcje, które sprawiają, że relacyjna baza danych jest bardziej niezawodna. Na przykład bazy danych NoSQL zwykle nie obsługują transakcji, co jest główną cechą relacyjnej bazy danych. Oznacza to, że jeśli używasz bazy danych NoSQL, być może będziesz musiał zrezygnować z niektórych funkcji, do których jesteś przyzwyczajony w relacyjnej bazie danych.

Baza danych NoSQL nie jest zgodna z ACID. Konsekwentny stan umysłu w tym sensie, że jest plastyczny, miękki i spójny. W rezultacie, gdyby Amazon korzystał z tej funkcji, zawsze można by u nich kupować książki, ale nie byliby w stanie przewidzieć, kiedy zostaną zapełnione. Mają one na celu obalenie twierdzenia Brewera.

Oracle, MySQL, PostgreSQL i Microsoft SQL są w stanie obsługiwać właściwości ACID w transakcjach. Przyjrzyjmy się typowej historii NoSQL.

Baza danych NoSQL może służyć do przechowywania danych ACID . W swoim pierwotnym projekcie system nie zawierał komponentu DBMS „System zarządzania”.

Czy Nosql ma właściwości kwasowe?

Zdjęcie autorstwa – https://dotnettutorials.net

Nie ma ostatecznej odpowiedzi na to pytanie, ponieważ zależy to od konkretnej implementacji NoSQL. Niektóre bazy danych NoSQL mają właściwości kwasowe, a inne nie.

Termin niepodzielność odnosi się do faktu, że transakcja musi zostać przeprowadzona przy braku wielu operacji. Spójność danych odnosi się do faktu, że wszystkie dane w bazie danych muszą być rejestrowane dokładnie tak, jak były w momencie dokonywania transakcji. Uważamy, że izolacja to stan całkowitej poufności, który uniemożliwia jakąkolwiek inną transakcję zakłócania naszej bieżącej pracy. Trwałość transakcji wskazuje, że inne transakcje, które zostały z nią zakończone, będą nadal działać. Podejście NoSQL do zarządzania bazą danych jest sprzeczne ze ścisłą regułą ACID . W rezultacie bazy danych NoSQL nie są najlepszym wyborem dla tych, którzy chcą działać w surowych środowiskach. Baza danych zgodna ze standardami ACID jest generalnie bardziej niezawodna i wydajna, a także zapewnia użytkownikom bardziej spójne wrażenia.


Czy Nosql jest kwasem czy zasadą?

Zdjęcie autorstwa – https://infodecisionnel.com

Po właściwościach ACID (Atomicity, Consistency, Isolation i Durability) relacyjnej bazy danych są właściwości ACID (Atrybucja, Spójność, Izolacja i Trwałość) bazy danych NoSQL.

Istnieje duże zapotrzebowanie na bazy danych generujące ACID. W dobie Big Data potrzebujemy technologii, które można skalować. Baza danych NoSQL może wydajniej obsługiwać duże i złożone dane. W przeciwieństwie do tradycyjnych systemów RDBMS rozwiązania te nie wykorzystują relacji tabelarycznych, a zatem nie stwarzają takich samych problemów z pamięcią masową. To naturalne, że czasami wolimy dostępność niż spójność. Gdy model ACID jest przesadą, lepiej jest mieć właściwość podstawową. Jeśli potrzebujesz spójności, ale wolisz sztywną strukturę, dobrym wyborem będzie relacyjna baza danych. Nie jest konieczne wybieranie między RDBMS a NoSQL dla każdego systemu, jak to ma miejsce w wielu przypadkach.

Baza danych NoSQL to nowy typ bazy danych, która nie opiera się na transakcjach ACID. (Szeroko zdefiniowane jako dostępne, stan miękki i ostateczna spójność). Dane są ogólnie dostępne w sensie ogólnym. Jeśli prośba nie zostanie udzielona, ​​możliwe, że zostanie odrzucona. Jest to najbardziej powszechny typ systemu bazodanowego, który wykonuje transakcje ACID. Obsługiwane są MySQL, PostgreSQL, SQLite, SQL Server i inne bazy danych. Obiektowe bazy danych to nowy rodzaj bazy danych, który nie wymaga przetwarzania transakcji ACID. Jednak w przypadku otrzymania odpowiedzi na żądanie odpowiedź nie może zagwarantować dostępności danych. Jeśli danych nie można uzyskać, zostaną one w pewnym momencie udostępnione. W stanie miękkim aktualizacje danych nie są trwałe; ta funkcja umożliwia ciągłą aktualizację danych. Spójność ma kluczowe znaczenie: zapewnia, że ​​dane są zawsze aktualne, nawet jeśli jest wiele aktualizacji.

Wsparcie Mongodb dla właściwości kwasu

Termin spójność odnosi się do tego, jak długo dane powinny pozostać spójne z wieloma operacjami odczytu, gdy są zapisywane w bazie danych. Baza danych powinna być w stanie zagwarantować, że wszystkie transakcje przeprowadzane jednocześnie nie będą miały na siebie wpływu, jak opisano powyżej. Trwałość bazy danych wskazuje, że będzie ona mogła funkcjonować nawet po zaniku zasilania lub innej katastrofie. Innymi słowy, chociaż MongoDB nie jest bazą danych zgodną z ACID, obsługuje niektóre kluczowe cechy ACID, takie jak niepodzielność i trwałość.

Dlaczego Mongodb nie jest kwasem?

MongoDB nie jest acidem, ponieważ nie obsługuje transakcji. Transakcje są fundamentalną częścią zgodności z kwasem . MongoDB nie obsługuje również kluczy obcych, co jest kolejnym ważnym elementem zgodności z kwasem.

MongoDB 4.0 dodaje wielodokumentowe transakcje ACID. PostgreSQL ma natywną obsługę zgodności z ACID , podczas gdy MongoDB nie był w stanie tego zrobić przez długi czas. Nie jest dla nas jasne, czy MongoDB stawia ACID na pierwszym miejscu, czy też zależy mu na użytkownikach. Wersja 4.0 MongoDB zawiera wielodokumentowe gwarancje transakcji ACID. Według Eliota Horowitza model dokumentu eliminuje potrzebę transakcji ACID. Grigori Melnik, wiceprezes ds. produktów, serwerów i narzędzi dla przedsiębiorstw, uważa, że ​​jest to nowatorski sposób pisania do MongoDB. W wersji 4.2 MongoDB transakcje będą możliwe w wielu implementacjach multi-shard.

Pomimo faktu, że MongoDB obsługiwał w przeszłości wiele silników do przechowywania danych, do transakcji można używać tylko WiredTiger. Dlaczego ACID jest tak ważny dla MongoDB? Nie jesteśmy pewni, co możemy powiedzieć o zaangażowaniu EDB w transakcje ACID, ale możemy powiedzieć jedno: traktuje transakcje ACID bardzo poważnie. Pomimo statusu nr 7 faktem pozostaje, że używanie standardowego języka zapytań, takiego jak SQL, nadal zapewnia znaczną wartość. W miarę tworzenia coraz większej liczby aplikacji uzyskujących dostęp do danych będziesz zmuszony budować je w sposób ciągły, zwiększając złożoność. PostgreSQL, jako najpopularniejsza baza danych ogólnego przeznaczenia, nadal jest najlepszym wyborem.

Czy Mongodb jest w pełni zgodny z kwasem?

Z drugiej strony wieloinstrumentalne transakcje ACID są dostępne dla przypadków użycia, które ich wymagają. Doceniają elastyczność wynikającą z możliwości modelowania swoich danych w sposób, który zwykle nie wymaga transakcji wielodokumentowych, ale jest to możliwe, gdy to robią.

Czy Nosql obsługuje kwas

Bazy danych Nosql nie obsługują transakcji kwasowych. Oznacza to, że nie mogą zagwarantować, że transakcja zostanie przetworzona poprawnie, a dane mogą zostać utracone lub uszkodzone w trakcie transakcji.

Bazy danych Nosql: model podstawowy jest bardziej trwały i spójny

Większość baz danych Nosql nie obsługuje właściwości ACID, preferując model podstawowy, który może wytrzymać nadużycia i być trwalszy.