Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> baza MongoDB a bazy relacyjne
wiewiorek
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
solificati
post
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 10
Dołączył: 17.03.2012

Ostrzeżenie: (0%)
-----


Och, jeszcze raz. Twój plan zapytania jest dobry, jeśli założymy, że dane są ot-tak wrzucone i odpalone zapytanie. Ale jeśli przygotujemy indeksy to zamiast jak to określać wyszukiwać po całej tabeli możemy mieć range scan, merge join i hash join. Możemy oczywiście potem dyskutować czy aby range scan jest najlepszym wyjściem ze względu na kardynalność zbioru cen (o ile faktycznie cene trzymamy przy produkcie - niezbyt dobry pomysł), nested loop join może być lepszy od hash, jeśli jednak liczebność jest po stronie adresów - ale należy zauważyć, że optymalizator załatwia dużą część tych spraw sam.
Go to the top of the page
+Quote Post
nasty
post
Post #3





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Cytat(solificati @ 10.07.2012, 15:27:03 ) *
Och, jeszcze raz. Twój plan zapytania jest dobry, jeśli założymy, że dane są ot-tak wrzucone i odpalone zapytanie. Ale jeśli przygotujemy indeksy to zamiast jak to określać wyszukiwać po całej tabeli możemy mieć range scan, merge join i hash join. Możemy oczywiście potem dyskutować czy aby range scan jest najlepszym wyjściem ze względu na kardynalność zbioru cen (o ile faktycznie cene trzymamy przy produkcie - niezbyt dobry pomysł), nested loop join może być lepszy od hash, jeśli jednak liczebność jest po stronie adresów - ale należy zauważyć, że optymalizator załatwia dużą część tych spraw sam.


O ile w przypadku range scan to w niewielkim stopniu mozna zminimalizować konieczność dostepnosci wszystkich danych na raz na jednej maszynie, to pozostałe joiny wymagają pełnej dostepnosci całego zbioru. Co oznacza, ze nie możesz latwo rozproszyc ta bazę danych na kilka farm - rozproszyc, nie replikowac.

Wcale nie uważam, ze NoSql, jest rozwiązaniem na wszystkie problemy skalowalnosci. Ale jest pewna klasa zastosowań (szczególnie przy danych diagnostycznych lub zdarzeniowych) gdzie taki model bazy danych jest nie do zastąpienia.
Go to the top of the page
+Quote Post
solificati
post
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 10
Dołączył: 17.03.2012

Ostrzeżenie: (0%)
-----


Cytat(nasty @ 10.07.2012, 17:03:02 ) *
O ile w przypadku range scan to w niewielkim stopniu mozna zminimalizować konieczność dostepnosci wszystkich danych na raz na jednej maszynie, to pozostałe joiny wymagają pełnej dostepnosci całego zbioru. Co oznacza, ze nie możesz latwo rozproszyc ta bazę danych na kilka farm - rozproszyc, nie replikowac.

Ale żaden nosql też tego nie daje. Znaczy daje tak samo jak rdbms - możliwe, ale o wiele wolniejsze.
Pewnie, można przygotować taki schemat dokumentu, że w trzech wypadkach zadziała szybciej, ale w pozostałych o wiele gorzej. A ja, w rdbms mam jeszcze narzędzie jakim są widoki zmaterializowane.
Scenariusze skalowania nosql są inne. Po prostu ten przykład ma silne relacje, więc to on się kiepsko skaluje a nie technologia.

Ten post edytował solificati 10.07.2012, 16:32:43
Go to the top of the page
+Quote Post

Posty w temacie
- wiewiorek   baza MongoDB a bazy relacyjne   8.07.2012, 15:33:01
- - Niktoś   Bazy nierelacyjne używa się zazwyczaj do przechowy...   8.07.2012, 15:53:47
- - wiewiorek   hm......... chyba nie o to chodzi - bo ja widziałe...   8.07.2012, 19:03:53
- - skowron-line   Może to nie odpowiedz na pytanie no ale taki teści...   8.07.2012, 19:11:06
- - Niktoś   Mimo ,że nirelacyjne bazy danych są szybsze(cechuj...   8.07.2012, 21:40:07
|- - Theqos   Cytat(Niktoś @ 8.07.2012, 22:40:07 ) ...   9.07.2012, 08:12:16
|- - NuLL   Cytat(Niktoś @ 8.07.2012, 21:40:07 ) ...   9.07.2012, 19:25:10
- - Crozin   A spróbowałeś chociaż wyszukać takie ogólnego poró...   9.07.2012, 09:20:20
- - solificati   Bazy noSQL to szeroki temat, nie ma tam jednego po...   9.07.2012, 11:01:19
- - alegorn   hmm. czytając cześć postów, mam wrażenie ze chyba ...   9.07.2012, 12:19:27
|- - solificati   Cytat(alegorn @ 9.07.2012, 13:19:27 )...   9.07.2012, 12:42:41
- - alegorn   solificati:: wszystko zależy od przypadku. trudno ...   9.07.2012, 13:19:42
|- - solificati   Cytat(alegorn @ 9.07.2012, 14:19:42 )...   9.07.2012, 13:41:57
- - alegorn   crm - tak, ale to idzie bardziej w intranet niz in...   9.07.2012, 15:22:53
|- - solificati   Cytat(alegorn @ 9.07.2012, 16:22:53 )...   9.07.2012, 16:52:14
- - alegorn   hmm. chyba nie ma o czym dyskutować, dlatego ze w ...   9.07.2012, 17:55:55
- - Niktoś   CytatCo do zadan - trzymanie logiki wewnatrz bazy ...   9.07.2012, 22:07:07
- - alegorn   CytatWydaje mi się, że nie należy patrzeć tylko na...   10.07.2012, 09:55:38
|- - solificati   Cytat(NuLL @ 9.07.2012, 20:25:10 ) Co...   10.07.2012, 11:03:28
- - nasty   Widzę, że muszę interweniować bo tu niektórzy Pano...   10.07.2012, 12:14:29
|- - solificati   Cytat(nasty @ 10.07.2012, 13:14:29 ) ...   10.07.2012, 13:24:30
|- - nasty   Cytat(solificati @ 10.07.2012, 14:24...   10.07.2012, 14:33:00
- - solificati   Mój błąd. Przez poprawić go miałem na myśli popraw...   10.07.2012, 14:34:09
|- - nasty   Cytat(solificati @ 10.07.2012, 15:34...   10.07.2012, 14:42:17
- - solificati   Och, jeszcze raz. Twój plan zapytania jest dobry, ...   10.07.2012, 15:27:03
|- - nasty   Cytat(solificati @ 10.07.2012, 15:27...   10.07.2012, 16:03:02
|- - solificati   Cytat(nasty @ 10.07.2012, 17:03:02 ) ...   10.07.2012, 16:29:55
|- - nasty   Cytat(solificati @ 10.07.2012, 16:29...   10.07.2012, 16:54:46
|- - solificati   Cytat(nasty @ 10.07.2012, 17:54:46 ) ...   10.07.2012, 17:15:32
|- - nasty   Cytat(solificati @ 10.07.2012, 17:15...   10.07.2012, 17:20:24
- - Niktoś   Ja używam MSSQL i świetny T-SQL, jednakże ze wzglę...   10.07.2012, 16:53:55
- - Niktoś   CytatI tu dochodzimy do sedna sprawy. NoSql jest u...   10.07.2012, 16:57:00
|- - nasty   Cytat(Niktoś @ 10.07.2012, 16:57:00 )...   10.07.2012, 17:07:41
- - Niktoś   CytatTo nie jest relacyjna baza danych.To jest rel...   10.07.2012, 17:30:58
- - nasty   Cytat(Niktoś @ 10.07.2012, 17:30:58 )...   10.07.2012, 17:35:00


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 12:22