![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 11 Dołączył: 5.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Do tej pory używałem relacyjnych baz danych, niedawno wielce się zdziwiłem gdy spotkałem się z nosqlową bazą danych MongoDB. Ktoś tego używał i ma porównanie jakie to ma wady i zalety w porównaniu do relacyjnych baz danych? Chyba wszystkie duże serwisy są oparte o bazy relacyjne więc to MongoDB jest wykorzystywane tylko w małych serwisach czy jak to wygląda?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
solificati:: wszystko zależy od przypadku. trudno jest pisać o 'jedynym słusznym' rozwiązaniu, bo dojdziemy niedługo do stwierdzeń typu 'moje rozwiązanie jest słuszne bo jest słuszniejsze od Twojego' (IMG:style_emoticons/default/wink.gif) co samo w sobie jest prawdą, (IMG:style_emoticons/default/oneeyedsmiley02.png) ale nic nie wnosi do dyskusji.
zastanówmy się jednak nad tym co napisałeś Cytat Problem się zaczyna gdy potrzebujemy egzekwować zależności. Relacje pozwalają nam kontrolować dane, mamy dodatkowo contraints i triggery, które dbają o poprawność danych. Sam mechanizm relacyjny zapewnia w pewnym stopniu poprawność danych. Bazy dokumentów nic nie dają w tej kwestii. tak naprawdę w ilu przypadkach potrzebujesz tego typu sprawdzeń ? kolejnym pytaniem jest, czy jest to tak naprawdę potrzebne, i czy koszt obsługi tego jest tego warty? (czas implementacji, czas realizacji zapytania) oczywiście że nie twierdzę że sql to przeżytek i nie warto już tego stosować. to by było nadinterpretacją. jeśli jest wymagane wysokie bezpieczeństwo poprawności danych - to owszem bazy sql'owe pewnie są lepszym rozwiązaniem. tyle że tak naprawdę, w ilu przypadkach jest to nam potrzebne? do prowadzenia bloga? do strony firmowej? do stron wizytówkowych ? do wszelkiej maści prostych for? komentarzy ? Cytat Aplikacja internetowa to taka zwykła aplikacja, tylko ma inny interface. Jak najbardziej SQL jest do stron internetowych. i tak i nie. owszem jest to aplikacja o takim a nie innym interfejsie - tutaj zgoda. tyle że specyfika funkcjonowania tegoż interfejsu sprawia że sqlowe bazy się nie sprawdzają. proste pytanie, ile razy, po wykonaniu serwisu, a zwłaszcza po jakimś czasie jego funkcjonowania usłyszałeś, no ok, niby działa, ale dlaczego to tak wolno działa ? lub: dlaczego do prostego wyświetlenia wszystkich komentarzy pod postem trzeba tyle czekać ? po sprawdzeniu, i wykonaniu rachunku sumienia, dochodzimy do ściany - już bardziej nie da się zoptymalizować tego zapytania, tej tabeli, tej aplikacji... stwierdzamy : po prostu serwer nie wyrabia.. kup pan nową maszynę... idę o zakład ze dla pewnej części problemów (nie napiszę że dla wszystkich) - da się wybrać odpowiednie rozwiązanie, właśnie w nosql. dlatego, między innymi właśnie powstały te bazy. bo stwierdzono że SQL nie daje rady w internecie. j. edit: chwila refleksji nad tym co napisalem. tak naprawdę ostatnio pracuje na hybrydach (mongo + mysql a nie wykluczam i inne silniki). nie używam jednej bazy danych, jednego jedynego 'słusznego' softu czy maszyny... okazuje się że tworząc hybrydy baz sql i nosql - otrzymamy wydajną i bezpieczną aplikację. że stosując rozdział dla serwerów aplikacyjnych i na serwery serwujące kontent - osiąga się większą wydajność na maszynie, da się obsłużyć większy ruch. że warto czasem olać uznane frameworki i napisać cos dedykowanego dla problemu.... okazuje się ze np samo przejście na silnik percony - daje wymierny efekt tak naprawdę okazuje się że warto szukać nowych, innych rozwiązań... czasem stracisz tylko czas, ale często udaje się urwać kilka procent mocy, czasu.... a to sprawia - ze warto Ten post edytował alegorn 9.07.2012, 13:45:52 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 00:42 |