Uwaga dla przyszłych czytelników: Poniższy tekst był ostatnio edytowany w sierpniu 2008 roku. To prawie 11 lat temu od tej zmiany. Oprogramowanie może szybko zmieniać się z wersji na wersję, więc zanim wybierzesz DBMS na podstawie poniższych porad, zrób kilka badań, aby sprawdzić, czy nadal jest dokładny. Sprawdź poniżej nowsze odpowiedzi.
Lepszy?
MySQL jest znacznie częściej udostępniany przez hosty internetowe.
PostgreSQL to znacznie bardziej dojrzały produkt.
Jest to dyskusja adresowania „lepsze” pytanie
Najwyraźniej, zgodnie z tą stroną internetową , MySQL działa szybko, gdy równoległe poziomy dostępu są niskie i gdy jest o wiele więcej odczytów niż zapisów. Z drugiej strony wykazuje niską skalowalność wraz ze wzrostem obciążeń i współczynników zapisu / odczytu. PostgreSQL działa stosunkowo wolno przy niskich poziomach współbieżności, ale dobrze się skaluje wraz ze wzrostem poziomu obciążenia, zapewniając jednocześnie wystarczającą izolację między równoczesnymi dostępami, aby uniknąć spowolnień przy wysokich współczynnikach zapisu / odczytu. Następnie prowadzi do szeregu porównań wydajności, ponieważ te rzeczy są bardzo ... wrażliwe na warunki.
Więc jeśli twoim czynnikiem decyzyjnym jest „ co jest szybsze? ” Wtedy odpowiedź brzmi „to zależy. Jeśli to naprawdę ma znaczenie, przetestuj swoją aplikację na obu ” . w każdej bazie danych) i poproś ich, aby dostroili bzdury z baz danych, a następnie wybierz. To zdumiewające, jak drogie są dobrzy administratorzy baz danych; i są warte każdego centa .
Kiedy to ma znaczenie.
Które prawdopodobnie nie, więc po prostu wybierz dowolną bazę danych, której dźwięk lubisz i idź z nią; lepszą wydajność można kupić, mając więcej pamięci RAM i procesora, bardziej odpowiedni projekt bazy danych, sprytne sztuczki z procedurami składowanymi i tak dalej - a wszystko to jest tańsze i łatwiejsze w przypadku losowej witryny X niż zadawanie sobie trudu wyboru, MySQL lub PostgreSQL i specjalistyczne strojenie od drogich baz danych.
Joel powiedział również w tym podcastie, że komentarz wróci, by go ugryźć, ponieważ ludzie będą mówić, że MySQL to gówno - Joel nie mógł odzyskać ani jednego
count
z wierszy. Liczba mnoga anegdoty to nie dane.
Powiedział :
MySQL to jedyna baza danych, z jaką kiedykolwiek programowałem w swojej karierze, która miała problemy z integralnością danych, w której wykonujesz zapytania i otrzymujesz bezsensowne odpowiedzi, które są niepoprawne.
i powiedział też:
To tylko anegdota. I to jest jedna z rzeczy, która mnie frustruje w blogowaniu lub ogólnie w Internecie. [...] Jest po prostu dziwna tendencja do przekształcania anegdot w prawdę i właściwie jako bloger zaczynam czuć się trochę winny z tego powodu
Po prostu dzwonił wiele miesięcy później.
Możliwości geograficzne obu baz danych są bardzo, bardzo różne. PostgreSQL ma wyjątkowe rozszerzenie PostGIS. W porównaniu z tym funkcjonalność geograficzna MySQL jest praktycznie zerowa.
Jeśli Twoja usługa internetowa zawiera składnik lokalizacji, wybierz PostgreSQL.
źródło
Nie używałem Django, ale używałem zarówno MySQL, jak i PostgreSQL. Jeśli będziesz używać swojej bazy danych tylko jako zaplecza dla Django, nie ma to większego znaczenia, ponieważ usunie większość różnic. PostgreSQL jest trochę bardziej skalowalny, ponieważ nie uderza w mur tak szybko, jak MySQL, gdy zwiększa się rozmiar danych / liczba klientów.
Prawdziwa różnica pojawia się, jeśli robisz nowy system. W takim razie poleciłbym bez trudu PostgreSQL, ponieważ ma o wiele więcej funkcji, które sprawiają, że twoja warstwa DB jest znacznie bardziej konfigurowalna, dzięki czemu możesz ją dostosować do dowolnych wymagań.
źródło
Chociaż jest trochę nieaktualny, warto przeczytać stronę MySQL Gotchas . Według mojej najlepszej wiedzy, wiele z wymienionych tam pozycji jest nadal aktualnych.
Używam PostgreSQL.
źródło
Używam obu szeroko. Mój wybór do konkretnego projektu sprowadza się do:
Przez specjalny sos rozumiem takie rzeczy jak:
źródło
Cóż, nie sądzę, abyś używał innej marki bazy danych w jakimkolwiek wcześniejszym rozwoju (kompilacja, staging, prod), ponieważ wróci to, by cię ugryźć.
Z tego, jak rozumiem, PostgreSQL jest bardziej „poprawną” implementacją bazy danych, podczas gdy mySQl jest mniej poprawna (mniej zgodna), ale szybsza.
Więc jeśli prawie piszesz aplikację CRUD, mySQL jest drogą do zrobienia. Jeśli potrzebujesz pewnych funkcji ze swojej bazy danych (jeśli nie jesteś pewien, to nie), możesz zajrzeć do postgreSQL.
źródło
Jeśli piszesz aplikację, która może być dość często dystrybuowana na różnych serwerach, MySQL ma dużo większą wagę niż PostgreSQL ze względu na przenośność. PostgreSQL jest trudny do znalezienia na mniej niż zadowalających serwerach internetowych, chociaż jest ich kilka. W większości przypadków PostgreSQL jest wolniejszy niż MySQL, zwłaszcza jeśli chodzi o ostateczne dostrojenie. Podsumowując, powiedziałbym, żebym dał PostgreSQL szansę na krótki czas, w ten sposób nie unikniesz go całkowicie, a następnie dokonaj oceny.
źródło
Dziękuję Ci. Użyłem Django z MySQL i jest w porządku. Wybierz bazę danych pod kątem potrzebnych funkcji. Trudno porównać MySQL i Postgres. Lepiej porównać Postgress do SQl Server.
źródło
@WolfmanDragon
PostgreSQL ma (niewielkie) wsparcie dla obiektów, ale z natury jest relacyjną bazą danych. Z jego strony :
źródło
MySQL to system zarządzania relacyjnymi bazami danych, natomiast PostgreSQL to system obiektowo- relacyjny . PostgreSQL jest odpowiedni dla programistów C ++ lub Java, ponieważ daje nam większą kontrolę nad sposobem pisania zapytań. ORDBMS udostępnia nam również obiekty i typy zdefiniowane przez użytkownika. Same zapytania SQL są znacznie bliższe standardom ISO niż MySQL.
Czy potrzebujesz ORDBMS lub RDBMS? To lepiej odpowie na twoje pytanie.
źródło