konto usunięte

Temat: MySQL || PostgreSQL dla dużego portalu

Jakie są wasze opinie na temat stosowania tych dwóch baz w rozwiązaniach portalowych (za i przeciw) ?
Irek Słonina

Irek Słonina programowanie, bazy
danych i linuksy

Temat: MySQL || PostgreSQL dla dużego portalu

Jarosław K.:
Jakie są wasze opinie na temat stosowania tych dwóch baz w rozwiązaniach portalowych (za i przeciw) ?

Co to jest duży portal i czym się zajmuje, jakie dane przechowuje?
Krzysztof Białkowski

Krzysztof Białkowski Software Developer
(C# .NET)

Temat: MySQL || PostgreSQL dla dużego portalu

Z takich większych portali społecznościowych to chyba facebook albo flickr stoi na mysql.

Nacodzień rozwijam system oparty o php i mysql.
Według statystyki baza dostaje ok 1900 zapytań na sekundę (nie wiem czy to dużo czy mało) i jak najbardziej sobie z tym radzi.
Jedyne co to należy rozważnie pisać sql i zakładać dobrze indeksy. Rozpoczynając przygodę z MySql na produkcji byłem trochę negatywnie nastawiony, głownie ze względu na ubogi pl/sql ale tak na prawdę wszystko jest do przejścia (mniej lub bardziej boleśnie :P)Krzysztof Białkowski edytował(a) ten post dnia 24.11.09 o godzinie 13:27

konto usunięte

Temat: MySQL || PostgreSQL dla dużego portalu

Krzysztof Białkowski:
Z takich większych portali społecznościowych to chyba facebook albo flickr stoi na mysql.

To wiem, wikipedia na postgre

Ja nacodzień rozwijam wewnętrzny serwis oparty o php i mysql.
Według statystyki baza dostaje ok 1900 zapytań na sekundę (nie wiem czy to dużo czy mało) i jak najbardziej sobie z tym radzi.
Jedyne co to należy rozważnie pisać sql i zakładać dobrze indeksy. Rozpoczynając przygodę z MySql na produkcji byłem trochę negatywnie nastawiony, głownie ze względu na ubogi pl/sql ale tak na prawdę wszystko jest do przejścia (mniej lub bardziej boleśnie :P)

Ja mam na jednej witrynie do 5 tys / sekunde i MySQL sobie radzi :)

konto usunięte

Temat: MySQL || PostgreSQL dla dużego portalu

Irek Słonina:
Jarosław K.:
Jakie są wasze opinie na temat stosowania tych dwóch baz w rozwiązaniach portalowych (za i przeciw) ?

Co to jest duży portal i czym się zajmuje, jakie dane przechowuje?

Powiedzmy 1 mln odsłon / dobe
Czym się zajmuje, powiedzmy portal typu golden.
Irek Słonina

Irek Słonina programowanie, bazy
danych i linuksy

Temat: MySQL || PostgreSQL dla dużego portalu

Jarosław K.:
Krzysztof Białkowski:
Z takich większych portali społecznościowych to chyba facebook albo flickr stoi na mysql.

To wiem, wikipedia na postgre

http://www.mysql.com/why-mysql/scaleout/wikipedia.html
MySQL twierdzi, że to jednak ich produktu używają.
Powiedzmy 1 mln odsłon / dobe
Czym się zajmuje, powiedzmy portal typu golden.

Znakomita większość portalów o dużym obciążeniu używa MySQL.
Parę milionów zapytań na dobę jednak nie jest wartością kosmiczną dla PostgreSQLa.
Jeśli portal ma szansę ciągle się rozwijać ponad te parę milionów zapytań to ja bym stawiał na MySQL. Łatwiejsza decentralizacja silników, wbudowana replikacja i przykład największych serwisów.

konto usunięte

Temat: MySQL || PostgreSQL dla dużego portalu

Irek Słonina:
Jarosław K.:
Krzysztof Białkowski:
Z takich większych portali społecznościowych to chyba facebook albo flickr stoi na mysql.

To wiem, wikipedia na postgre

http://www.mysql.com/why-mysql/scaleout/wikipedia.html
MySQL twierdzi, że to jednak ich produktu używają.

Możliwe, że się mylę w tej kwestii.
Powiedzmy 1 mln odsłon / dobe
Czym się zajmuje, powiedzmy portal typu golden.

Znakomita większość portalów o dużym obciążeniu używa MySQL.
Parę milionów zapytań na dobę jednak nie jest wartością kosmiczną dla PostgreSQLa.

No tak, ale nie wiadomo co dalej.
Jeśli portal ma szansę ciągle się rozwijać ponad te parę milionów zapytań to ja bym stawiał na MySQL. Łatwiejsza decentralizacja silników, wbudowana replikacja i przykład największych serwisów.

PosgreSQL też ma już replikacje, co rozumiesz przez łatwiejszą decentralizacje ?
I co sądzisz o obawach o stabilność tej bazy w sensie jej dostępności itd. w związku z tymi wszystkimi zmianami właścicieli?
Tomasz Tomczyk

Tomasz Tomczyk programista php,
INTERIA.PL SA

Temat: MySQL || PostgreSQL dla dużego portalu

Z tego co sie orentuje Postgre ma replikacje ale mozna powiedziec, ze tylko z nazwy poniewaz wiecej na razie z nia problemow niz zalet

Replikacje mysql'a teraz dzialaja nawet sprawnie, ale nie tak dawno tez byly z nimi problemy
Irek Słonina

Irek Słonina programowanie, bazy
danych i linuksy

Temat: MySQL || PostgreSQL dla dużego portalu

Jarosław K.:
PosgreSQL też ma już replikacje, co rozumiesz przez łatwiejszą decentralizacje ?

Nie jesteś ograniczony do korzystania z jednej serwerowni, możesz sobie swobodnie zrobić np. parę center w rożnych miejscach w kraju / na świecie aby rozłożyć ruch.
I co sądzisz o obawach o stabilność tej bazy w sensie jej dostępności itd. w związku z tymi wszystkimi zmianami właścicieli?

Tym bym się w żadnym stopniu nie martwił. Nie zanosi się na zaprzestanie rozwoju przez Suna/Oracle'a. Zapowiedziany jest dalszy jej rozwój.
Istnieją już forki, które mają potencjał na zrobienie ciekawej konkurencji, jak MariaDB.
Dodatkowo MySQL jest zbyt powszechnie używanym projektem aby ktoś z dużym zapleczem finansowym nie przejął tego projektu po ewentualnym porzuceniu go przez Sun/Oracle (np. Google ze względu na Youtube).
Krzysztof Stachyra

Krzysztof Stachyra Szef Wydziału
Produkcji Systemów
Handlowo-Magazynowyc
h i ...

Temat: MySQL || PostgreSQL dla dużego portalu

nasza-klasa jedzie na mysqlu
Michał Płonka

Michał Płonka Programista PHP

Temat: MySQL || PostgreSQL dla dużego portalu

W MySQL wkurza mnie konieczność wyboru MyISAM vs InnoDB. Albo wyszukiwanie pełnotekstowe albo więzy integralności + transakcje. Wiadomo, że bez wyszukiwania pełnotekstowego można żyć (są od tego inne mechanizmy) więc pozostaje InnoDB. Sęk w tym, że przy tym mechanizmie składowania danych MySQL nie jest już taki szybki... Poza tym: nie wiem jak teraz, ale w MySQL nie można było tworzyć triggerów na kilka zdarzeń (ON DELETE OR UPDATE), co kończyło się pisanie 2x tego samego (podobnego) kodu. Plusem MySQL są dobre narzędzia (Workbench + Administrator + Query Browser). Do PostgreSQL jest w zasadzie tylko pgAdmin.
Maciej Szewczyk

Maciej Szewczyk outsourcing IT

Temat: MySQL || PostgreSQL dla dużego portalu

Postgress ma wielkie ale to wielkie problemy z insertami, dodanie 140tyś i tak okrojonych kodów pocztowych zajęło mi ok 1,5godziny.. dodatkowo dość proste wyliczenia łączące to katorga, nie chcę się rozczulać ale przechodząc ze starej sprawdzonej bazy mysql liczyłem na coś więcej jeśli chodzi o wydajność.
Haha, w pewnym momencie czułem się jakbym przywieszał serwer ^^

Ale ...
Postgress oferuje kilka ciekawych rozwiązań przez które zdecydowałem się jednak przy nim pozostać są to dziedziczenie (zarąbisty bajerek jeśli chodzi o różne grupy użytkowników), pola typu array :) w mojej aplikacji zapisuję sobie w nich aktualny stan dostępu do danych i nie muszę co chwilkę przeliczać kilku tysięcy osób w celu wyznaczenia ścieżek (pola te nie są bez wad ale mam pg.8.1 ponoć w 8.4 jest lepiej).

Co dalej ..
Ktoś kto nie pisał aplikacji pod postgressika zapewne na początku będzie miał ochotę zmienić pracę na np. spawacza ponieważ sam SQL przekazywany ze skryptu troszeczkę ... się różni od poczciwego SQL-a przy którego pomocy rozmawiamy z MySQL czy nawet MsSql. tu quoty i inne bajerki ...

Z MySql jest więc mnie problemów haha, nawet interface webowy mimo pisania przez tę samą firmę jest przyjemniejszy, postgres ma to wszystko porozpierdzielane... Dlatego tak jak pisał jeden z przedmówców pgAdmin jest jedynym rozwiązaniem.

Jeśli chodzi o ogólną wydajność, to i PG i MY dają radę na dość ostro obciążonych portalach .
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: MySQL || PostgreSQL dla dużego portalu

Michał Płonka:
Sęk w tym, że przy tym mechanizmie składowania danych [InnoDB] MySQL nie jest już taki szybki...

W ostatnich wersjach są porównywalne pod względem wydajności.
Michał Płonka:
Poza tym: nie wiem jak teraz, ale w MySQL nie można było tworzyć triggerów na kilka zdarzeń (ON DELETE OR UPDATE), co kończyło się pisanie 2x tego samego (podobnego) kodu.

Tutaj bez zmian.

konto usunięte

Temat: MySQL || PostgreSQL dla dużego portalu

Witam,

Jakoś nie widziałem problemów z insetem (poprzez COPY) dużej porcji danych, a PostgreSQL ma kilka fajnych rzeczy np UPDATE...FROM... czego w MySQL raczej nie uświadczysz...
Pozdrawiam,

john
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: MySQL || PostgreSQL dla dużego portalu

Tak z rzutu okiem do manuala PG wygląda na to, że UPDATE ... FROM to jest to samo co w MySQL:

UPDATE table1 AS t1, table2 AS t2 SET t1.field1 = t2.field1 WHERE ...

??

konto usunięte

Temat: MySQL || PostgreSQL dla dużego portalu

Odwieczna wojna. Różnice wydajności w małych serwisach brak.

Troche ideologia się różni.

Postgres wychodzi z założenia: nie robimy nic automatycznie, niech użytkownik wie dokładnie co zrobić i jak (przez co jest to bardziej skomplikowane).

Mysql wychodzi z założenia - zautomatyzujmy jak najwięcej, żeby łatwo się używało, co w wielu skomplikowanych przypadkach wymaga ingerencji w kod.

Dlatego programista mysql przy migracji na postgresql, zgłasza że chodzi wolno - lub źle.

Następna różnica:
Za mysql się płaci (lepiej przeczytać warunki licencji enterprise).
Za postgresql nie.

Referencje są ważne, ale bez przesady żaden z dużych portali nie używa wersji community.

Dla mnie zostaje tak:
mały serwis - sql lite
średni serwis - mysql (if php) lub postgresql (if ruby , python)
duży serwis - postgresql / oracle, w zależności od portfela klienta
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: MySQL || PostgreSQL dla dużego portalu

Maciej B.:
Następna różnica:
Za mysql się płaci (lepiej przeczytać warunki licencji enterprise).
Za postgresql nie.

Referencje są ważne, ale bez przesady żaden z dużych portali nie używa wersji community.

Ale do Postgresa nie ma płatnego supportu i płatnych narzędzi?

Bo MySQL Enterprise to w tym momencie
- Support
- Częściej publikowane binarki
- MySQL Enterprise Monitor i MySQL Query Analyzer

Sam serwer jest ten samM

konto usunięte

Temat: MySQL || PostgreSQL dla dużego portalu

Michał Jarosz:
Maciej B.:
Następna różnica:
Za mysql się płaci (lepiej przeczytać warunki licencji enterprise).
Za postgresql nie.

Referencje są ważne, ale bez przesady żaden z dużych portali nie używa wersji community.

Ale do Postgresa nie ma płatnego supportu i płatnych narzędzi?

Bo MySQL Enterprise to w tym momencie
- Support
- Częściej publikowane binarki
- MySQL Enterprise Monitor i MySQL Query Analyzer

Sam serwer jest ten samM

Ależ możesz sobie kupić support do Postgresa, chociażby EnterpriseDB taki świadczy.
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: MySQL || PostgreSQL dla dużego portalu

Czyli pod tym względem różnicę mamy conajwyżej w cenie.
Michał Płonka

Michał Płonka Programista PHP

Temat: MySQL || PostgreSQL dla dużego portalu

Maciej Szewczyk:
Postgress ma wielkie ale to wielkie problemy z insertami,dodanie 140tyś i tak okrojonych kodów pocztowych zajęło mi ok 1,5godziny..

Hmmm, u mnie zapis do tabeli [id, parent_id, name, is_active] (id bez sekwencji) 21500 rekordów (+ 2x DELETE i 1x UPDATE na podobnej liczbie rekordów) trwa niecałe 4,5 sekundy (wstawianie w paczkach po 30 rekordów (INSERT INTO tabela (x) VALUES (1), (2))). Przy pojedynczych insertach jest to ok. 40 sekund. Nie bardzo więc wiem skąd wyszło Ci te 1,5 godziny :)

W sumie mam pytanie: słyszałem, że wraz ze wzrostem liczby rekordów wydajność MySQL drastycznie spada. PostgreSQL natomiast jest bardziej "stabilny" w tej materii - czy to prawda?

I na koniec zapraszam do lektury:
http://forum.php.pl/index.php?showtopic=96283
W szczególności chodzi mi o:
Script line: 19 Trigger does not exist
Script line: 20 Trigger does not exist
Script line: 28 Trigger already exists
Script line: 34 Trigger already exists

Może od tamtego czasu coś się zmieniło...Michał Płonka edytował(a) ten post dnia 24.11.09 o godzinie 21:44

Następna dyskusja:

MySQL vs PostgreSQL vs Orac...




Wyślij zaproszenie do