konto usunięte

Temat: MySQL vs PostgreSQL

Po przeczytaniu http://www.goldenline.pl/forum/php/1303304/s/3#26306408 jestem ciekaw jakie argumenty mitycznych specjalistów przeważyły przy wyborze takim a nie innym.

Prosił bym was o opinię i rzeczową dyskusję.

konto usunięte

Temat: MySQL vs PostgreSQL

mitycznych ? hehe :D .. no dobrze zostawmy to.

Odnosze sie do mojej wypowiedzi z innego watku i Twoich Przemku watpliwosci.

---

Od strony rynku.

Faktycznie z architektonicznego punktu widzenia relacja MySQL i Oracle budzi pewne napiecia. Kto ta panike sieje, nie wiem, jakie sa jej podstawy moge sie domyslac. Czy sa racjonalne, absolutnie nie.

Klientow nie zmusisz do niczego. Ludzie wybieraja MySQL bo jest dobry i darmowy. Dlaczego jest tak popularny, na to sklada sie wiele czynnikow Wybrali go kiedys administratorzy, bo sie dobrze administrowal, dlatego jest najpopurniejsza darmowa baza danych. To jest mysle ten glowny czynnik, pozniej oczywiscie sa ciagle rozwijane mozliwosci, doskonala dokumentacja, community i pozytywne doswiadczenia. Mysle, ze to bardzo wazny czynniki.

Co oznacza "Oracle i MySQL" ? Dwa bardzo popularne uzupelniajace sie z punktu widzenia modelu biznesowego rozwiazania - w jednym reku. Po co to niszczyc, na tym mozna budowac :-). Ja traktuje to jako wesola wiadomosc dla ludzi, ktorzy wybrali MySQL i raczej niewesola dla konkurencji.

---

Technicznie

Opisywane problemy dotyczyly skladowania danych w bazie.

Osobiscie znam sie duzo duzo lepiej nad MySQL niz nad PostgreSQL. Kilkakrotnie w przeszlosci mialem do czynienia z PostgreSQL jako programista. Poniewaz zawsze pracowalem w ten sposob, by na swojej maszynie roboczej miec jak najbardziej podobne srodowisko do produkcyjnego i byc maksymalnie niezaleznym podczas pracy, wiec jakies tam drobne doswiadczenia z administracja wchodza w gre. Jednak raczej malo znaczace w przypadku podejmowania decyzji o zmianie bazy danych w dzialajacym i zarabiajacym pieniadze rozwiazaniu.

Jako, ze bylem osoba, do ktorej w duzej mierze nalezalo podjecie decyzji, a nie lubie podejmowac decyzji pochopnie, zasiegnalem opinii wielu specjalistow, od razu odrzucajac z tej listy tych, ktorzy wiedzialem, ze powiedza MySQL. Osoby te zajmuja sie i administracja i programowaniem itd itp. Wszystkie informacje, ktore do mnie splynely, byly dosc jednostronne, ludzie Ci mieli konkretne doswiadczenia dot. problemow, ktore musieli rozwiazac z PostgreSQL. Glownie na poziomie skalowania i administracji. Postgres po prostu mial swoje granice i niewiele pomagalo zwiekszanie mocy obliczeniowej sprzetu, a jego skalowanie nie jest zbyt fajnym zajeciem (patrz np. dyskusja tutaj).

Zebralem informacje i nie dzielac sie wnioskami z zespolem, dalem szanse Postgresowi, na 2 roznych maszynach (produkcyjnej obciazonej i developerskiej nieobciazonej) przeprowadzilismy proby optymalizacji na poziomie software'u wykorzystujacego baze oraz samych opcji konfiguracji bazy danych.

Maszyny produkcyjna i nieprodukcyjna byly dosc rozne, oprocz tego jedna miala stale obciazenie zwiazane z praca innych elementow oprogramowania, konfiguracja developerska byla obciazona zaniedbywalnie.

Wyniki wskazywaly, ze obciazenie i sprzet mialy niewielki wplyw na osiagi w tym przypadku. Postgres mial granice zw. z zapisem danych i szybkosc dysku, maszyny i jej obciazenie nie mialy wielkiego wplywu na wynik, zmieny konfiguracji rowniez.

Po zaglebieniu sie w kwestie konifguracji, administracji i ponownym wysluchaniu doswiadczonych administratorow, ktorzy dostarczyli mi informacji, ktorych detali tu nie bede przytaczal, bo nie pamietam, a wyjasnialy one dzialanie serwera postgres w zw. z wlasnie praca z dyskiem i wad takiego rozwiazania. Podjalem ostateczna decyzje.

Zrezygnowalismy z PostgreSQL.

--

dodaje w odpowiedzi na sluszna uwage Michala, informacje o wersji PostgreSQL

* serwer developerski : 8.3
* serwer produkcyjny - dodam pozniej, nie mam kluczy na netbookuTomasz Grzechowski edytował(a) ten post dnia 19.12.09 o godzinie 13:27

konto usunięte

Temat: MySQL vs PostgreSQL

Przemysław R.:
Prosił bym was o opinię i rzeczową dyskusję.

Nie wiem, czy bede mial wiele do dodania, jesli ktos ma inne odmienne doswiadczenia, jestem bardzo ciekaw i z checia sie czegos naucze.
Paweł Kozicki

Paweł Kozicki Główny programista

Temat: MySQL vs PostgreSQL

z tym MySQL vs PostgreSQL to jest tak, ze nigdy nie bedzie wiadomo ;)

Kiedys bylem mocno za MySQL'em, potem w pracy musialem uzywac PostgreSQL. Po nabraniu wiekszego doswiadczenia z pgSQL powiedzialem sobie, ze chyba nie predko wroce na MySQL ;)

Niektorzy mowia, ze PostgreSQL jest trudniejszy, przeciez im trudniej tym lepiej ;)

Nigdy jeszcze nie robilem replikacji na PostgreSQL, a slyszalem, ze z tym jest cienko...
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: MySQL vs PostgreSQL

Chciałbym przypomnieć kolegom, że w takiej dyskusji dość ważne jest wskazywanie konkretnych wersji oprogramowania, której dotyczą dane doświadczenia. W obu przypadkach rozwój przecież trwa i jeżeli np. ktoś ostatnio miał styczność z MySQL w wersji 4.x, to jego doświadczenia są dosyć antyczne.
Paweł Kozicki

Paweł Kozicki Główny programista

Temat: MySQL vs PostgreSQL

oczywiście w swoim poście mówiłem o MySQL 5.x i PostgreSQL 8.3.x i 8.4.x

konto usunięte

Temat: MySQL vs PostgreSQL

Paweł Kozicki:
oczywiście w swoim poście mówiłem o MySQL 5.x i PostgreSQL 8.3.x i 8.4.x
5.0.X i 5.4.X .. przez ten czas nie raz zdążyłeś szampana otworzyć ;-)

Może dodam od siebie cegiełkę:
Programowanie pod mySQL to jak nabycie sprawności operatora szklanej kuli ;-) i przynajmniej w 5.1.X nie polecam.... a z tego co lewym okiem widziałem Pg jakoś do tego jak i do np. MDX'a dorósł.. ;)Rafał Wardas edytował(a) ten post dnia 19.12.09 o godzinie 13:38
Paweł Kozicki

Paweł Kozicki Główny programista

Temat: MySQL vs PostgreSQL

zresztą dyskusja na temat MySQL vs PostgreSQL przypomina mi dyskusję jak na każdym forum: Linux vs Windows...

gdybym nie miał okazji użycia postgreSQL pewnie dalej bym obstawiał MySQL.

konto usunięte

Temat: MySQL vs PostgreSQL

Paweł Kozicki:
zresztą dyskusja na temat MySQL vs PostgreSQL przypomina mi dyskusję jak na każdym forum: Linux vs Windows...

gdybym nie miał okazji użycia postgreSQL pewnie dalej bym obstawiał MySQL.
Nie o to tutaj chodzi ;) Po prostu w poście porównujesz dystybucje rozrzucone na kilku lat uznając je jako "X". Ja skończyłem swoją przygodę z mySQL na 5.1.26 więc się nie wypowiadam.. bo też mi broda urosła ;)
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: MySQL vs PostgreSQL

Nawiasem mówiąc mamy już (znowu) MySQL 5.5

konto usunięte

Temat: MySQL vs PostgreSQL

Tomasz Grzechowski:
Technicznie

Zrezygnowalismy z PostgreSQL.

Czyli tak: nie podajesz żadnych konkretów, tak gdybać o niczym to też sobie potrafię. Z drugiej strony całkiem możliwe, że trafiłeś na 'specjalistów' od Postgresa, którzy się na tym nie znali :) Powinieneś słuchać DBA a nie administratorów (bo mam nadzieję, że nie podejmowałeś decyzji li tylko na podstawie utyskiwan adminów, że nie potrafią czegoś zrobić). Admini przeważnie potrafią zainstalować bazę i coś tam przekonfigurować, ale często nie mają pojęcia jak to wszystko działa i czemu baza jest wolna i co zmienić w konfiguracji czy bazie itd.
Inna sprawa to nagminne porównywanie MySQL MyISAM z Postgresem i narzekanie, że Postgres jest wolny. Cóż, to jakby porównać F16 z czołgiem i narzekać, że ten czołg tak wolno jeździ więc jest do dupy. O czym to świadczy? Ano o tym, że porównania takie robią ludzie zupełnie nieznający się na rzeczy.
Dodatkowo całkiem śmiesznie wypada stwierdzenie, że Postgres (czy cokolwiek innego) jest do dupy bo ma swoje ograniczenia. Zupełnie jakby MySQL czy Oracle, czy MSSQL ich nie miały. Wszystko ma swoje ograniczenia, ale wyciąganie z tego wniosków, że nie należy tego używać jest śmieszne.
Hm... ten link o skalowaniu Postgresa, na który się powołujesz... przecież napisali, że skalowanie da się zrobić, ale jest z tym nieco problemów (a gdzie ich nie ma). Zresztą część replikacji postgresa, o których napisał tam Tomek, między innymi ja robiłem i tym przez pewien czas zarządzałem, i nie było to takie straszne, wystarczy wiedzieć jak działa Slony i pomyśleć.

Reasumując: odrzucanie czegoś tylko dlatego, że ktoś nie umie tym administrować, że ma jakieś ograniczenia (przecież MySQL też je ma) że ktoś się nie zna, jest całkiem śmieszne. Chyba, że ktoś chce po prostu używać MySQL w wydaniu MyISAM mając w głębokim poważaniu transakcje czy klucze obce i jest szczęśliwy (do pierwszego rozjechania się danych). Oczywiście MyISAM to fajna zabawka, ale nie do wszystkiego, jednak wolę mieć więcej pewności, że dane się nie rozjadą, bo wtedy klient mnie za****.

PS) obiecałem sobie, że nie będę brał udziału w takich dyskusjach o wyższości jednych świąt nad drugimi, bo i tak nikogo się nie przekona, za to zaraz się dowiem, że się nie znam, ale co mi tam, po raz ostatni można sobie coś napisać.

I Wesołych Świąt.
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: MySQL vs PostgreSQL

Szymon G.:

Powinieneś słuchać DBA a nie administratorów

...
Skonfundowałeś mnie, bo dotychczas myślałem ze DBA to Database administrator...

konto usunięte

Temat: MySQL vs PostgreSQL

Szymon G.:
Admini przeważnie potrafią zainstalować bazę i coś tam przekonfigurować, ale często nie mają pojęcia jak to wszystko działa i czemu baza jest wolna i co zmienić w konfiguracji czy bazie itd.

Od dzis bede uzywal Twojej definicji admina :-)
Inna sprawa to nagminne porównywanie MySQL MyISAM z Postgresem i narzekanie, że Postgres jest wolny.

A wy ciagle o tym MyISAM ? Nigdzie tu nie padlo slowo MyISAM.

Nikt tu nie robi nagonki na Postgresa. Wiec mozesz zwolnic tempo.
To az ciezko sie czyta takie skroty myslowe.
Dodatkowo całkiem śmiesznie wypada stwierdzenie, że Postgres (czy cokolwiek innego) jest do dupy bo ma swoje ograniczenia.

Do tej wypowiedzi dolozony jest kontekst.
Zupełnie jakby MySQL czy Oracle, czy MSSQL ich nie miały.

Oczywiscie, ze je maja. Nikt tego nie kwestionowal.
Wszystko ma swoje ograniczenia, ale wyciąganie z tego wniosków, że nie należy tego używać jest śmieszne.
Hm... ten link o skalowaniu Postgresa, na który się powołujesz...

Ja sie nie powoluje w swej wypowiedzi na ten link. Ja go przytaczam, jako dodatkowa zewnetrzna informacje.
przecież napisali, że skalowanie da się zrobić, ale jest z tym nieco problemów (a gdzie ich nie ma).

Nieco problemow, to wlasnie bylo to czego chcielismy uniknac.
Zresztą część replikacji postgresa, o których napisał tam Tomek, między innymi ja robiłem i tym przez pewien czas zarządzałem, i nie było to takie straszne, wystarczy wiedzieć jak działa Slony i pomyśleć.

Swietnie, to jest pierwsza wartosciowa dla mnie informacja.
Reasumując: odrzucanie czegoś tylko dlatego, że ktoś nie umie tym administrować, że ma jakieś ograniczenia (przecież MySQL też je ma) że ktoś się nie zna, jest całkiem śmieszne.

Juz nie robmy z administracji baza danych takiej tajemnej wiedzy :-). Przynajmniej nie powinna ona byc tajemna wiedza. Dlatego wydaje mi
sie, ze jesli otrzymalem informacje na ten temat z tylu zrodel (pomijajc od razu zrodla pro-MySQL) dodatkowo potwierdzajac je probami optymalizacji przeprowadzonymi przez zespol, podjalem sensowna decyzje.

Mozliwe jednak, ze zespol dal ciala, ze ludzie, ktorych uznalem za ekspertow nie znali sie. Wszystko jest mozliwe.

Czy ktos wykorzystuje Postgresa do crawlerow ?

Slowo wyjasnienia, liczy sie przede wszystkim duza czestosc zapisow. Nasza konfiguracja z Postgresem nie dawala rady, musze spr. ile udawalo sie wyciagnac z tego. Jesli ktos cos robil i mial dobre wyniki z checia porownam.
Chyba, że ktoś chce po prostu używać MySQL w wydaniu MyISAM mając w głębokim poważaniu transakcje czy klucze obce i jest szczęśliwy (do pierwszego rozjechania się danych). Oczywiście MyISAM to fajna zabawka, ale nie do wszystkiego, jednak wolę mieć więcej pewności, że dane się nie rozjadą, bo wtedy klient mnie za****.

Najwyrazniej pracujesz w ciezkich warunkach. U nas nikt nikogo nie zaje****. No ale to pewnie trzeba sobie wypracowac. Wydaje mi sie rowniez, ze jakos w ciemno zalozyles sobie ze tutaj rozmowa toczy sie na temat MyISAM.
PS) obiecałem sobie, że nie będę brał udziału w takich dyskusjach o wyższości jednych świąt nad drugimi, bo i tak nikogo się nie przekona, za to zaraz się dowiem, że się nie znam, ale co mi tam, po raz ostatni można sobie coś napisać.

Mysle, ze powinienes zaczac dotrzymywac obietnic noworocznych.
I Wesołych Świąt.

Z tym prawdziwie polskim akcentem,

Wesolych SwiatTomasz Grzechowski edytował(a) ten post dnia 19.12.09 o godzinie 23:16
Łukasz Dudek

Łukasz Dudek Database
Administrator

Temat: MySQL vs PostgreSQL

Tomasz Grzechowski:
Szymon G.:
>
Inna sprawa to nagminne porównywanie MySQL MyISAM z Postgresem i narzekanie, że Postgres jest wolny.

A wy ciagle o tym MyISAM ? Nigdzie tu nie padlo slowo MyISAM.

ke? wolny ? od 8 w każdym secie danych jest szybszy ...
przecież napisali, że skalowanie da się zrobić, ale jest z tym nieco problemów (a gdzie ich nie ma).

>wtracenie z poprzedniego posta :
>Postgres po prostu mial swoje granice i niewiele pomagalo >zwiekszanie mocy >obliczeniowej sprzetu,

Fikcja postgres bardzo dobrze skaluje się na jednej maszynie. Dużo gorzej sprawa wygląda z mysql ( jest nieprzewidywalny czasem dołożenie procka czy pamięci powoduje spadek ilości tranzakcji/s ) wystarczy poszukać aby znaleźć ciekawe opracowania, choćby no blogu depesz'a.

Juz nie robmy z administracji baza danych takiej tajemnej wiedzy :-). Przynajmniej nie powinna ona byc tajemna wiedza. Dlatego wydaje mi
sie, ze jesli otrzymalem informacje na ten temat z tylu zrodel (pomijajc od razu zrodla pro-MySQL) dodatkowo potwierdzajac je probami optymalizacji przeprowadzonymi przez zespol, podjalem sensowna decyzje.

Od razu widać że jest kp/supervizor więc się zapytam Czy ktoś z twojego zespołu pracował przy większym projekcie na postgresie ? Nie ? Więc jakiej się odpowiedzi spodziewałeś?
Slowo wyjasnienia, liczy sie przede wszystkim duza czestosc zapisow. Nasza konfiguracja z Postgresem nie dawala rady, musze spr. ile udawalo sie wyciagnac z tego. Jesli ktos cos robil i mial dobre wyniki z checia porownam.

Mistrzu zapis zapisowi nie równy. Zapisy w charakterze:
1. insert
2. update
3. delete
4. large_objects
Zapis na dysk czy do ramu? Co jest zapisywane i w jaki sposób? Dużo jest opcji tuningu dla zapisu choćby ilość checkpointów czy wyłączenie fsync'a czy opcje montowania device'u (magiczna opcja noatime).

Najwyrazniej pracujesz w ciezkich warunkach. U nas nikt nikogo nie zaje****. No ale to pewnie trzeba sobie wypracowac.
Śmieszna wypowiedź, Jedni dbają o klienta inni nie :]

tak btw dla mnie admin to sieciowiec nie bazodanowiec :]Łukasz Dudek edytował(a) ten post dnia 20.12.09 o godzinie 13:16

konto usunięte

Temat: MySQL vs PostgreSQL

Michał Jarosz:
Szymon G.:

Powinieneś słuchać DBA a nie administratorów

...
Skonfundowałeś mnie, bo dotychczas myślałem ze DBA to Database administrator...

Znaczy się DBA w sensie DBA, a nie DBA w sensie administrator systemowy. Jednak jest duża różnica w zakresie wymaganej wiedzy na tych dwóch stanowiskach.

konto usunięte

Temat: MySQL vs PostgreSQL

Tomasz Grzechowski:
Szymon G.:
Admini przeważnie potrafią zainstalować bazę i coś tam przekonfigurować, ale często nie mają pojęcia jak to wszystko działa i czemu baza jest wolna i co zmienić w konfiguracji czy bazie itd.

Od dzis bede uzywal Twojej definicji admina :-)

Ale napisałem 'przeważnie'. I dotyczyło to adminów systemowych, a nie adminów jako dba.
Inna sprawa to nagminne porównywanie MySQL MyISAM z Postgresem i narzekanie, że Postgres jest wolny.

A wy ciagle o tym MyISAM ? Nigdzie tu nie padlo slowo MyISAM.

Bo nie padły żadne konkrety, więc mogłem sobie napisać co chcę, poza tym co widzę testy, to porównują MyISAM z czymś innym i wychodzi, że MySQL jest szybki.

Nikt tu nie robi nagonki na Postgresa. Wiec mozesz zwolnic tempo.
To az ciezko sie czyta takie skroty myslowe.

A róbcie sobie nagonkę jaką chcecie, nie interesuje mnie to (brak nagonki też). Używałem Postgresa w całkiem sporych serwisach, widziałem też jak ludzie używają MySQLa zupełnie bez transakcji i bazy się masowo rozjeżdżają (i jakoś nikt nie widzi w tym problemu... aż któregoś dnia się okazuje, że problem jest) i mam wyrobione swoje zdanie na ten temat i nie zamierzam nikogo przekonywać.
przecież napisali, że skalowanie da się zrobić, ale jest z tym nieco problemów (a gdzie ich nie ma).

Nieco problemow, to wlasnie bylo to czego chcielismy uniknac.

Ale problemy są wszędzie, to, że ze Slonym były problemy (często wynikające z niewiedzy i wymagające doczytania dokumentacji) to nie znaczy, że biorąc coś innego się ich uniknie. Natomiast mogę powiedzieć, że problemy jakie miałem ze Slonym wynikały raczej z nieodpowiedniej struktury samej aplikacji, co przekładało się na ogromne obciążenie serwerów. Po kilku zmianach w strukturze aplikacji i strukturze bazy, nagle się okazało, że Slony działa całkiem ładnie.
Czy ktos wykorzystuje Postgresa do crawlerow ?

Slowo wyjasnienia, liczy sie przede wszystkim duza czestosc zapisow. Nasza konfiguracja z Postgresem nie dawala rady, musze spr. ile udawalo sie wyciagnac z tego. Jesli ktos cos robil i mial dobre wyniki z checia porownam.

Ino co chcesz porównywać? Zrobienie wydajnej bazy obejmuje strukturę bazy, aplikację (z której idą zapytania), okresowe operacje na bazie oraz konfigurację samej bazy jak i systemu operacyjnego i sprzęt, na którym to chodzi. Samo porównanie konfiguracji niewiele może dać, bo wystarczy, że baza jest źle zaprojektowana albo idą zapytania, które kosmicznie kręcą dyskami (albo też masz lepsze/gorsze dyski), przez co wydajność całości siada i czasami nie trzeba zmieniać konfiguracji samej bazy.
Chyba, że ktoś chce po prostu używać MySQL w wydaniu MyISAM mając w głębokim poważaniu transakcje czy klucze obce i jest szczęśliwy (do pierwszego rozjechania się danych). Oczywiście MyISAM to fajna zabawka, ale nie do wszystkiego, jednak wolę mieć więcej pewności, że dane się nie rozjadą, bo wtedy klient mnie za****.

Najwyrazniej pracujesz w ciezkich warunkach. U nas nikt nikogo nie zaje****. No ale to pewnie trzeba sobie wypracowac. Wydaje mi sie rowniez, ze jakos w ciemno zalozyles sobie ze tutaj rozmowa toczy sie na temat MyISAM.

Nie pracuję w ciężkich warunkach, ciężko to mają ludzie, którzy robią bazę, która się rozjechała i się nie zgadzają dane księgowe :).
Niczego nie zakładałem, ale konkretów było tak mało, że nawet ciężko było się do czegoś odnieść, załóżmy więc że rozmowa nie toczy się o MyISAM. O czym w takim razie się toczy, o wyższości MySQLa nad czymkolwiek innym?
PS) obiecałem sobie, że nie będę brał udziału w takich dyskusjach o wyższości jednych świąt nad drugimi, bo i tak nikogo się nie przekona, za to zaraz się dowiem, że się nie znam, ale co mi tam, po raz ostatni można sobie coś napisać.

Mysle, ze powinienes zaczac dotrzymywac obietnic noworocznych.

OK, to już sobie idę.

konto usunięte

Temat: MySQL vs PostgreSQL

Szymon G.:
Ino co chcesz porównywać?
Zrobienie wydajnej bazy obejmuje strukturę bazy, aplikację (z której idą zapytania), okresowe operacje na bazie oraz konfigurację samej bazy jak i systemu operacyjnego i sprzęt, na którym to chodzi.

To jest konkretne pytanie, gdyz masz taki crawler i mozesz mi przedstawic swoje osiagi, dzieki czemu bede mogl wyciagnac odpowiednie wnioski (i konsekwencje) i sie czegos naucze, czy pytasz i dyskutujesz dla sztuki dyskutowania ?

konto usunięte

Temat: MySQL vs PostgreSQL

Łukasz Dudek:
Najwyrazniej pracujesz w ciezkich warunkach. U nas nikt nikogo nie zaje****. No ale to pewnie trzeba sobie wypracowac.
Śmieszna wypowiedź, Jedni dbają o klienta inni nie :]

Oczywiscie, ja naleze do tych ktorzy o klientow nie dbaja :-).

konto usunięte

Temat: MySQL vs PostgreSQL

szczerze mowiac liczylem na dyskusje na poziomie i sie zawiodlem :-)

konto usunięte

Temat: MySQL vs PostgreSQL

każda myszka swój ogonek chwali ;)



Wyślij zaproszenie do