Który serwer bazy danych skaluje się lepiej: PostgreSQL lub MySQL?

20

Pracuję nad witryną, która może ostatecznie mieć bardzo dużą bazę danych. Strona będzie społecznością artystyczną dopiero od deviantART. Będę uruchamiał wiele zapytań do analizy sposobu korzystania z witryny. Oczekuję, że niektóre zapytania zabiją bazę danych, ponieważ nie wiem (jak jeszcze) optymalizować zapytań SQL. Zaczynam od małego linuksowego VPS i w przyszłości przeniosę się na serwery fizyczne.

Która baza danych najlepiej skalowałaby się w takiej sytuacji?

epocholf
źródło

Odpowiedzi:

16

Zanim podejmiesz decyzję opartą na skalowalności, możesz przeczytać te dwie strony i zdecydować, jak bardzo cenisz swoje zdrowie psychiczne:

John Siracusa
źródło
12
Czy wolno mi mieć zdrowie psychiczne?
epochwolf
1
Doskonały post. Nie zapominaj, że im większa baza danych, tym mniej będziesz używać jej funkcji relacji. Jeśli spojrzysz na duże portale społecznościowe, zobaczysz, że ich użycie relacyjnej bazy danych ogranicza się do przechowywania wyłącznie kluczy / wartości.
Dave Cheney
1
Te linki są bardzo nieaktualne.
Trey
1
Przynajmniej w dokumencie PostgreSQL wiele pozycji zawiera kwalifikatory „dotyczy to wersji NM i wcześniejszych produktu X”. Jeśli ich brakuje, szybki eksperyment z zainstalowaną wersją, a następnie wiadomość e-mail do autora dokumentu mogą rozwiązać sytuację ...
John Siracusa
6

Najpierw pozwól mi poprzedzić moją odpowiedź faktem, że jestem bardzo stronniczy w stosunku do PostgreSQL. Bardzo mocno używam PostgreSQL i MySQL na dość dużej stronie. Ja od czasu do czasu mam problemy ze spadkiem wydajności MySQL. Kiedy tak się dzieje, zwykle uruchamiam go ponownie i wszystko wraca do normy. Warto również zauważyć, że uruchamiamy PostgreSQL na wszystkich urządzeniach od 8 do 32 rdzeni, a nasz klaster MySQL działa na zestawie 8 rdzeni. Monty, gdy był w Sun, stwierdził, że MySQL nie skaluje się na jednym pudełku poza 4 rdzeniami.

Gavin M. Roy
źródło
4

Naprawdę zależy to od rodzaju zapytań. Jeśli nie uruchomisz bardzo skomplikowanych zapytań, będzie to odpowiednie dla bardzo dużej witryny. Istnieją dobre przykłady obu baz danych działających na bardzo dużych stronach internetowych

trent
źródło
1
Bardzo prawdopodobne, że to prawda. Ale oprócz wydajności można również rozważyć łatwość zarządzania i ogólną łatwość użytkowania. Osobiście uważam, że postgres wygrywa w tym dziale. Po prostu nie mogę zrozumieć, dlaczego wszyscy inni uwielbiają mysql: p
Jeremy Huiskamp