PostgreSQL vs MySQL |
PostgreSQL vs MySQL |
5.09.2007, 21:58:35
Post
#81
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) |
@SongoQ: A jak oceniasz triggery i procedury składowane w mysqlu? W manualu mysqla bardzo skromnie napisali o triggerach.
-------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
30.12.2007, 01:47:21
Post
#82
|
|
Grupa: Przyjaciele php.pl Postów: 463 Pomógł: 49 Dołączył: 27.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) |
Porównanie popularnych silników baz danych
Nazwa MySQL nazwa licencji: GPL z wyłączeniem FOSS darmowa do zastosowań komercyjnych: NIE rozmiar plików ze źródłami:18.5 MB języki proceduralne:NIE własne typy danych:NIE max. liczba kolumn w wierszu:3398 max. rozmiar rekordu:64 KB max. wielkość BLOB'a (mógly by mi ktos powiedziec co to??):4 GB Nazwa PostgreSQL 8.0.2 nazwa licencji: BSD darmowa do zastosowań komercyjnych: TAK rozmiar plików ze źródłami:10.2 MB języki proceduralne:TAK własne typy danych:TAK max. liczba kolumn w wierszu:w zależności od typu danych od 250 do 1600 max. rozmiar rekordu:1.6 TB max. wielkość BLOB'a:4 GB Moze to cos wniesie do dyskusji znalazlem to na wikibooks oto link link Pozdrawiam mam nadzieje ze pomoglem. Sam sie zastanawiam czego uzywac ;P I przepraszam za ewntualne błędy ale o 1:47 nie che mi sie poprawiac -------------------- |
|
|
8.07.2008, 22:32:54
Post
#83
|
|
Grupa: Zarejestrowani Postów: 788 Pomógł: 1 Dołączył: 17.09.2004 Ostrzeżenie: (10%) |
Mam do zrobienia program który będzie zapisywał ok 5.000 rekordów na minutę. Docelowy rozmiar bazy to ok 8Gb.
Dane będą też często zczytywane z bazy z poziomu stron www. Która baza lepiej nada się do tego projektu (PostgreSQL czy MySQL) |
|
|
9.07.2008, 11:37:05
Post
#84
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
@northwest
Moim zdaniem to post nie jest w odpowiednim miejscu. Do tego jeśli zapisujesz 5000 rekordów na minutę, to jakim cudem masz określony docelowy rozmiar bazy? -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
9.07.2008, 11:40:07
Post
#85
|
|
Grupa: Zarejestrowani Postów: 788 Pomógł: 1 Dołączył: 17.09.2004 Ostrzeżenie: (10%) |
to jest przypuszczalny - po prostu w pewnym momencie rekordy starsze będą usuwane...
|
|
|
9.07.2008, 12:52:35
Post
#86
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) |
Witam - to bardzo ciekawy wątek, ale też strasznie przestarzały ...
Może wielu wprowadzić niepotrzebnie w błąd. Jestem wolnym strzelcem, więc jestem skazany na MySQL, głównie ze względu na popularność w hostingu - chociaż PostgreSQL jest również coraz popularniejsze. Z drugiej strony - MySQL został przejęty prze SUN i coraz dynamiczniej się rozwija. Ma wszystko co jest potrzebne do małej i średniej skali projektów. A przy naprawdę dużych projektach i tak następuje migracja do profesjonalnych rozwiązań w rodzaju ORACLE. Ponieważ nie używam w swoich projektach PG - nie mogę sie kompetentnie wypowiadać na jego temat. W związku z tym mam wielką prośbę. Czy ktoś naprawdę zorientowany poświęciłby chwilę swojego cennego czasu i przedstawił tu AKTUALNE zestawienie możliwości oraz różnic między bieżącymi wersjami MySQL i PostgreSQL Myślę, że zapewni sobie niemierną wdzięczność setek użytkowników - pomógł gwarantowane PS. Chodzi o coś więcej niż pokazał kolega Piniek - tyle to sobie w wiki znalazłem... Pozdrawiam wszystkich forumowiczów. -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
11.07.2008, 06:24:36
Post
#87
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
W odpowiedzi na powyższy post podam link do problemu jaki miałem z MySQL. Chodzi mianowicie o możliwość uruchomienia jednego triggera przy kilku zdarzeniach. W PostgreSQL (i z tego co wiem również w Oracle) robi się to poprzez:
Takie coś nie działa w MySQL. Na forum mysql.com otrzymałem jednoznaczną odpowiedź, że nie mogę tak zdefiniować triggera. Równocześnie chciałem założyć 3 osobne triggery uruchamiane przy 3 różnych zdarzeniach. I co? Jajco. A jakie chocki-klocki się działy to zapraszam do lektury postu: http://forum.php.pl/Trigger_AFTER_INSERT_O...ETE_t96283.html |
|
|
13.10.2008, 20:41:46
Post
#88
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 4.04.2006 Ostrzeżenie: (0%) |
na te stronie: http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL sa opisane roznice oraz... ankieta i jak narazie PostgreSQL KROLUJE
mysql: 34% (1119) PostgreSQL: 66% (2191) Od siebie ja kiedys musialem stworzy tzw 'klastry' chcialem uruchomic kilka baz osobno na roznych portach i co sie okazalo, w dokumentacji mysql znalazlem iz klaster bazodanowy zaklada sie poprzez 'CREATE DATABASE' co mnie rozbawilo, natomiast w PostgreSQL, co mnie spodobalo sie i w koncu to czego chcialem i oczekiwalem od nie komercyjnej DB, czyli elastycznosc, mozna robic to co sie chce (no moze przesadzilem, ale ja tak to odbieram ) wracajac do klastrow, tworzy sie je w banalny sposob w 3 krokach: 1) stworzenie katalogu 2) zmiana chown;a na postgres i chmod na 700 3) initdb i run i koniec co jeszcze, w PostgreSQL jest typ INET czyli baza sama sprawdza czy wprowadzana wartosc to adres IP, wartosci walutowe. jednym slowem, cud miod i orzeszki Ten post edytował jezoo 13.10.2008, 20:42:10 |
|
|
18.05.2009, 19:49:56
Post
#89
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Przed chwilą przeprowadziłem wstępne testy wydajnościowe MySQL (5.1.33) vs PostgreSQL (8.3.1). Test opierał się na cyklicznym (10 razy) wykonaniu JOINa dla tabel użytkowników (100 000 rekordów) oraz komentarzy (1 000 000 rekordów). Dane zostały wcześniej wygenerowane losowo w PHP i w każdym przypadku wyglądały tak samo. Na polu komentarz.id_uzytkownika został założony indeks. Poniżej zamiesczam wyniki uzyskane klasą Benchmark z repozytorium PEAR:
MySQL (MyISAM): 0,022767 MySQL (InnoDB): 21,507910 PostgreSQL: 2,500184 Różnice jak widać są zasadnicze... Wnioski? MyISAM jest bajecznie szybki ale nie oferuje nic ciekawego poza wyszukiwaniem pełnotekstowym. InnoDB miażdży powolnością... PostgreSQL - wydaje się być złotym środkiem Ot taka ciekawostka. |
|
|
21.05.2009, 07:13:43
Post
#90
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) |
A ciekawe czy MySQL wkrótce nie zakończy istnienia jak Oracle go przejął....
|
|
|
21.05.2009, 07:18:58
Post
#91
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
@phpion
Cytat Na polu komentarz.id_uzytkownika został założony indeks A klucz obcy byl tez czy nie? Mozesz pokazac to zapytanie? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.05.2009, 08:59:51
Post
#92
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
A klucz obcy byl tez czy nie? Tak. Dla PostgreSQL oraz dla MySQL InnoDB klucz obcy został zdefiniowany. Dla MySQL MyISAM nie robiłem tego z prostej przyczyny: i tak więzy integralności są ignorowane. Mozesz pokazac to zapytanie? Jasne, ogólnie cały test wyglądał tak:
|
|
|
21.05.2009, 09:08:03
Post
#93
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
a jak czasowo bedzie to wygladac dla takiego zapytania:
? ps: zakladam ze ID to klucze glowne i mają indexy? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.05.2009, 09:22:53
Post
#94
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Z tego co się orientuję to dla kluczy głównym nie ma potrzeby zakładania indeksów Swoje zapytanie specjalnie napisałem z użyciem zwykłego indeksu, a nie klucza głównego - żeby było trudniej hehe.
Wyniki dla Twojego zapytania (już bez COUNT): MyISAM: 0.016517 InnoDB: 0.017046 PostgreSQL: 0.006440 Dane uzyskałem po 5 odświeżeniach strony dla każdego przypadku. Skąd takie różnice w wywołaniach w stosunku do poprzedniego testu? Brakuje tu zapytania z COUNT. Z nim wyniki przedstawiają się już nieco gorzej: MyISAM: 0.028539 InnoDB: 23.817434 PostgreSQL: 2.852854 Widać więc, że zarówno w przypadku InnoDB jak i PostgreSQL COUNT(*) znacząco wpływa na wydajność zapytania, z czego w przypadku InnoDB bardzo drastycznie. Na koniec jeszcze wyniki dla COUNT(id) zamiast COUNT(*): MyISAM: 0.035867 InnoDB: 22.756677 PostgreSQL: 3.391338 <- wynik utrzymywał się na tym poziomie |
|
|
21.05.2009, 09:27:24
Post
#95
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
no z tym COUNT cos masz bobola jakiegos. zapytanie:
$db->query('SELECT COUNT(*) FROM comment'); nie ma prawa tyle czasu sie wykonywac. Wykonuje je na zdecydowanie wiekszych danych i jest to ulamek sekundy. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.05.2009, 09:36:51
Post
#96
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Faktycznie. Sprawdziłem COUNT(*) z poziomu MySQL Query Browser + PgAdminIII i wyniki są zdecydowanie inne:
MyISAM: 0,0296 (0,0011) InnoDB: 0,0141 (1,8876) PostgreSQL: 0,375 Czyli co - Swoją drogą nie bardzo wiem co oznaczają czasy podane przy MySQL. Drugi to chyba faktycznie czas, po jakim pokazywany jest wynik zapytania. Ale pierwszy czas (krótszy dla InnoDB)? Ten post edytował phpion 21.05.2009, 09:40:05 |
|
|
21.05.2009, 09:44:34
Post
#97
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
tak czy siak masz cos na linii php - baza i jako tako nie ma nic wspolmego z tym tematem, wiec jesli chcesz kontynowac to lepiej w innym temacie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.05.2009, 17:45:12
Post
#98
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) |
A ciekawe czy MySQL wkrótce nie zakończy istnienia jak Oracle go przejął.... Twórca mySQL aktualnie tworzy zastępce dla mySQL, tak więc nawet jak zniknie to na jego miejsce wskoczy nowy produkt -------------------- |
|
|
21.05.2009, 18:09:16
Post
#99
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
A ciekawe czy MySQL wkrótce nie zakończy istnienia jak Oracle go przejął.... Twórca mySQL aktualnie tworzy zastępce dla mySQL, tak więc nawet jak zniknie to na jego miejsce wskoczy nowy produkt Nie zakończy swojego istnienia. Nawet się rozwinie. Zapowiedziana została wersja 5.4 (teraz jest beta do ściągnięcia), w której znacząco poprawiono wydajność. Poza tym obiło mi się o uszy, że silnik InnoDb zostanie zastąpiony czymś innym. Należy również pamiętać, że kupując Sun-a, Oracle stał się dostawcą baz danych klasy entrprice oraz małych baz danych dla niewielkich odbiorców. Cytując dobrą polską komedię - "Nie zabijasz kury, która ma złote jaja." -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
10.12.2009, 12:02:52
Post
#100
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
W sieci pojawiło się świeże porównanie MySQL oraz PostgreSQL:
http://blog.taragana.com/index.php/archive...arative-review/ |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 04:15 |