![]() |
![]() |
![]()
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: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Mimo ,że nirelacyjne bazy danych są szybsze(cechują się szybkością ,szczególnie te oparte o pamięć np.REDS), to uważam że są mniej funkcjonalne od relacyjnych baz danych, w których mozemy wykonać szereg dodatkowych "zadań" takich jak triggery,procedury składowane,shedulery,full text search itp.Dodoatkowo zobacz typy danych ,które relacyjne bazy danych obojętnie jakiej ,są zdolne obsłużyć ,a typy danych, które obsługują relacyjne(przeważnie ,są to text lub binary więc wymagane jest częstsze rzutowanie danych w projekcie).
Dlatego też uważam ,że relacyjne bazy danych raczej nie nadają się do dużych projektów jak główny kontener danych,lecz że względu na szybkość mogą nadać się doskonale jako kontener danych tymczasowych,jako druga linia, która odciąży naszą relacyjną bazę danych. |
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Mimo ,że nirelacyjne bazy danych są szybsze(cechują się szybkością ,szczególnie te oparte o pamięć np.REDS), to uważam że są mniej funkcjonalne od relacyjnych baz danych, w których mozemy wykonać szereg dodatkowych "zadań" takich jak triggery,procedury składowane,shedulery,full text search itp.Dodoatkowo zobacz typy danych ,które relacyjne bazy danych obojętnie jakiej ,są zdolne obsłużyć ,a typy danych, które obsługują relacyjne(przeważnie ,są to text lub binary więc wymagane jest częstsze rzutowanie danych w projekcie). Dlatego też uważam ,że relacyjne bazy danych raczej nie nadają się do dużych projektów jak główny kontener danych,lecz że względu na szybkość mogą nadać się doskonale jako kontener danych tymczasowych,jako druga linia, która odciąży naszą relacyjną bazę danych. Heh, Czegos takiego jak REDS nie ma - jest REDIS. Redis z Mongo ma niespecjalnie wiele wspolnego pozatym ze sa NoSQL. Redis to key-value store trzymany w pamieci, ktory jest narzedziem przewaznie sluzacym do cache'owania i wspoldzielenia pamieci pomiedzy wieloma maszynami. Natomiast MongoDB czy CouchDB to bazy danych, tyleze oparte na dokumentach. Funkcjonalnosc bazy danych dobiera sie w zaleznosci od projektu lub specyfiki zastosowan. Bzdura jest relacyjne bazy danych nie nadaja sie do duzych projektow - jest ich wiele i dzialac zawsze beda - AFAIK Twitter korzysta z MySQLa bez problemow. NoSQL to wygoda - nie ma czegos takiego jak definiowanie struktur czy aktualizowanie tabeli, rowniez skalowanie to nieco bajka. Pozatym samo dobieranie sie do dokumentow jest zdecydowanie prostsze etc etc. NoSQL w wielu miejscach dostaly czkawki http://www.zopyx.com/blog/goodbye-mongodb jak i kilka innych jednak sie poprawiaja i wielu normalnych projektach sa swobodnie uzywalne. Co do zadan - trzymanie logiki wewnatrz bazy danych to wiecej problemow niz korzysci. Po jakims czasie malokto sie orientuje w tym wszystkim co sie dzieje w DB. A full text-search mozna miec w Mongo. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 08:10 |