Cześć Uczę się funkcji bazy danych NoSQL z perspektywy projektowania systemu, a także czytam, że wiele dużych firm używa sharded RDBMS zamiast tych baz danych nosql do zapisywania swoich danych.

Czy to sprawia, że ​​jedyną zaletą danych NoSQL (Cassandra/MongoDB) jest to, że jest to rozwiązanie rozproszone z półki i tanie w utrzymaniu?

1
xappppp 26 styczeń 2022, 21:12

2 odpowiedzi

Relacyjne bazy danych i bazy danych nosql to różne bestie. Relacyjne bazy danych dobrze sprawdzają się w większości przypadków użycia, ale nie są w stanie obsłużyć danych w skali internetowej, w których miliony rekordów pojawiają się w ułamku czasu. W celu rozwiązania tych problemów (dane w skali internetowej) opracowano rozwiązania nosql. Nie myśl więc, że organizacje wolą nosql tylko ze względu na tanie utrzymanie, to przypadek użycia określa, jakiego rodzaju technologii bazodanowej użyć.

0
Manish Khandelwal 26 styczeń 2022, 21:27
Dzięki za odpowiedź. Czy możesz podać odniesienie lub przypadek dobrze podzielonej/skonfigurowanej relacyjnej sieci baz danych, która nie może osiągnąć i musi korzystać z technologii takich jak mongodb lub cassandra? Dopiero zaczynam się uczyć o technologii nosql i trochę trudno mi konkretnie uchwycić, gdzie jest prawdziwa zaleta.
 – 
xappppp
26 styczeń 2022, 21:31

przeczytaj, że wiele dużych firm używa shard rmdb

W mojej ostatniej pracy moja organizacja obsługiwała ręcznie shardowane rozwiązanie Postgres. Było to dla nas źródłem ogromnego bólu, ponieważ było trudne w utrzymaniu i utrzymaniu ze względu na swoje rozmiary. Pamiętaj, że RDBMS nie zostały zaprojektowane do pracy w ten sposób.

jedyną zaletą nosql ... jest to, że jest to rozwiązanie dystrybuowane z półki

Decyzja dotyczy tak naprawdę kompromisów. Gdy Twoje obciążenia danych nie mogą być obsługiwane przez pojedynczą instancję bazy danych lub potrzebujesz czasu pracy bez pojedynczego punktu awarii, NoSQL może Ci pomóc. Bazy danych, które poświęcają spójność ze względu na tolerancję i dostępność partycji (bazy danych „AP”), często są w stanie przetwarzać duże obciążenia z niewielkim opóźnieniem ze względu na ich zdolność do rozprzestrzeniania danych (a tym samym zapytań) na wiele instancji serwera.

Ponadto, jeśli Twoje dane muszą być świadome lokalizacji geograficznej lub centrum danych, będziesz potrzebować bazy danych, która to obsługuje. Próba sprawienia, aby produkty bazodanowe działały w sposób, którego nie uwzględniał ich oryginalny projekt, jest receptą na ból.

tanie w utrzymaniu

Zapytaj każdego, kto prowadzi korporacyjną organizację bazodanową, a powie Ci, że NoSQL nie jest tani (ani łatwy) w utrzymaniu. Oczywiście, możesz otrzymać produkt open source, którego nie musisz „kupować”, ale będziesz potrzebować (często wysoko opłacanych) inżynierów baz danych, aby go utrzymać.

0
Aaron 26 styczeń 2022, 21:40
Aaron, bardzo dziękuję za spostrzeżenia. Na podstawie twoich danych wydaje mi się, że skalowalność towarzyszy nosql z założenia, ale wydaje się również, że sql może również osiągnąć to samo, a głównym problemem jest tylko konserwacja/konfiguracja podczas skalowania. czy to prawda?
 – 
xappppp
26 styczeń 2022, 21:51