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.

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.


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.


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.


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.