Słabości związane z różnymi typami baz danych NoSQL

10

Oto moje pytanie: jakie są słabości różnych typów baz danych NoSQL? W szczególności jakie są słabości sklepów z kluczowymi wartościami, magazynów danych wykresów i magazynów dokumentów?

Łatwo mi było znaleźć mocne strony, ale dokumenty dotyczące słabości wydają się być rzadsze.

Edycja: W porównaniu do siebie nawzajem i do relacyjnych baz danych.

Aedilum
źródło

Odpowiedzi:

7

Największa siła / słabość dowolnego rozproszonego magazynu danych wynika z twierdzenia CAP. Zobacz http://blog.nahurst.com/visual-guide-to-nosql-systems, aby uzyskać szybki przegląd tego, co to w praktyce oznacza dla dużej liczby systemów NoSQL, które są tam dostępne.

btilly
źródło
1
Zauważ, że tak naprawdę nie jest to szczególna wada NOSQL. Twierdzenie CAP ma jednakowe zastosowanie do każdej rozproszonej składnicy danych: SQL, NOSQL, relacyjnej lub nierelacyjnej.
nvogel
6

Jeśli porównujesz je z relacyjnymi bazami danych, oczywistą słabością jest to, że magazyny klucz-wartość nie są relacyjne. W związku z tym pisanie raportów przy użyciu magazynów kluczowych wartości może być trudniejsze niż przy użyciu relacyjnej bazy danych, dla której takie raporty i ekstrakcja danych są specjalnie zaprojektowane.

Robert Harvey
źródło
Dobra, a co z pozostałymi dwoma? Prawie jak mogę stwierdzić, bazy danych wykresów dotyczą na przykład relacji.
Aedilum,
1
@Aedilum: Moje doświadczenia dotyczą głównie relacyjnych baz danych, ale podejrzewam, że magazyny danych o kluczowej wartości, wykresy i magazyny dokumentów wszystkie rozwiązują określone problemy. Ogólnie rzecz biorąc, każda z nich będzie silna w dziedzinie problemów, dla której jest specjalnie zaprojektowana, i słabsza w innych domenach.
Robert Harvey
2

Jest to bardzo subiektywne, co Twoim zdaniem może być słabością, ktoś inny może uważać za jego największą siłę.

Wszystkie popularne obecnie bazy danych NoSQL rozwiązują problemy, w których istniejące systemy RDBMS były słabe, i zazwyczaj są wysoce wyspecjalizowane w jednym konkretnym problemie, który miał i próbował rozwiązać pomysłodawca.

Tak więc wszelkie słabości produktów są niezdolne do robienia tego, czego potrzebujesz, w sposób oszczędny czasowo lub przestrzennie.


źródło
Rzeczywiście, jedną z rzeczy, których nauczyłem się o NoSQL, jest to, że wszystkie zostały stworzone w celu rozwiązywania problemów, na które RDBMS ma trudności z dotarciem, takich jak ogromne ilości operacji w krótkich odstępach czasu lub złożone relacje.
Aedilum,
1

Zacznę od zauważenia, że ​​uwielbiam bazy danych NoSQL i jestem w trakcie porzucania naszych baz danych SQL i aplikacji tam, gdzie ma to sens. Proces ten ujawnił jedną poważną słabość - historia operacyjna jeszcze jej nie ma. Rozumiem przez to:

  • NoSQL jest wciąż szybko zmieniającym się celem. Musisz dokładnie się z tym zapoznać, aby wiedzieć, co zmieniło się między wersjami. Z perspektywy operacyjnej stwarza to kilka trudności - administratorzy są przyzwyczajeni do racjonalnie udokumentowanych rzeczy z najlepszymi praktykami. Kiedy najlepsze praktyki nie zostały zdefiniowane, staje się dla nich trochę przerażające.
  • Bardzo niewiele osób zna się na obsłudze ich poza społecznością programistów. Stanowi to wyzwanie, gdy chcesz przekazać produkt do operacji i zrobić to z nim.
  • Lepsze typy operacji są w stanie obsłużyć lekki SQL i przynajmniej go rozpoznać. Json lub cokolwiek twój nosql mówi, jest trochę krzywą uczenia się.
  • Reputacja to trudna sprawa - utrata danych jest bardzo przerażająca dla typów operacji. Uwierzyli, że bazy danych SQL przetrwają holokaust nuklearny. NoSQL będzie tam trochę pracy sprzedażowej.

Inną trudną rzeczą jest czasami raportowanie - wiele narzędzi użytkownika może podłączyć się bezpośrednio do baz danych SQL, NoSQL wciąż wymaga programisty, aby przekroczył ten most.

Wyatt Barnett
źródło
Podsumowując ... Nie ma żadnych prawdziwych słabości, które nie są związane z początkiem rozwoju produktów NoSQL?
Aedilum
@Aedilum: To niemowlęctwo jest dość dużym zastrzeżeniem.
Robert Harvey,
@Robert Harvey: właśnie niemowlęctwo rodzi wiele problemów. @Aedilum: jako gatunek nie ma strasznej słabości, zakładając, że robisz rzeczy z bazą danych NoSQL, które mają sens, i masz możliwości zarządzania tym, w tym kręcenia własnym rozwiązaniem w ciemności nocy, gdy produkcja spada ponieważ nie ma ręcznego i płatnego wsparcia. Ma sens?
Wyatt Barnett