Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ PostgreSQL _ PostgreSQL vs MySQL

Napisany przez: anas 25.10.2004, 08:13:51

Hej.

Mam pytanie do kolegow mniej lub wiecej doswiadczonych praca z PostgreSQL. Czy mozecie podac mi praktyczne roznice, ktore przekonaly was do korzystania z PostgreSQL'a w stosunku do MySQL-a. Dla mnie jak narazie glownie przkonywujaca jest obsluga PL/SQL oraz typy tablicowe ktorych brakowalo mi czasem w MySQL. Nie wiem rowniez jak sie sprawa ma z wydajnoscia - chociaz PostgreSQL wydaje mi sie bardziej profesionalnym narzedziem... mialem troche stycznosci z Oracle'm wiec moze to bedzie pomocne w dobrym zrozumieniu PostgreSQL'a, ale z checia bym sie dowiedzial jaka lekture polecicie zeby zglebiac ten temat.

pozdrowka

anas

Napisany przez: DavidPL 29.10.2004, 11:01:53

3 główne i niezwykle wyraźne rożnice:
MySQL dużo szybszy od PostgreSQL'a - plus dla MySQL
Brak podzapytań w MySQL - ogromny minus dla MySQL
MySQL jest płatny, PostgreSQL jest darmowy - plus dla PostgreSQL

--
Pozdrawiam,
Dawid Szałęga

Napisany przez: kszychu 29.10.2004, 11:08:04

Cytat(DavidPL @ 2004-10-29 11:01:53)
MySQL jest płatny,

ohmy.gif Chryste! od kiedy??

Napisany przez: SongoQ 29.10.2004, 11:12:17

Kolejne rzeczy:

MySQL nie ma funkcji
MySQL nie ma trigerow

Odnosnie obslugi przez Postgresa plpgsql, plpert, c to jest cos wspanialego, co MySQLowi brakuje i przez dluzszy okres czasu bedzie brakowac.

Szkoda @kszychu ze zamknoles moj temacik, myslalem ze bedzie osta dyskusja na ten temat. Mam nadzieje ze sie tutaj przeniesie. Fakt nie zauwazylem tego tematu.

Napisany przez: zalew 29.10.2004, 11:56:11

http://builder.com.com/5100-6388-1050671.html

Napisany przez: kszychu 29.10.2004, 12:04:21

Cytat(SongoQ @ 2004-10-29 11:12:17)
Szkoda @kszychu ze zamknoles moj temacik, myslalem ze bedzie osta dyskusja na ten temat. Mam nadzieje ze sie tutaj przeniesie. Fakt nie zauwazylem tego tematu.

Też żałuję, że musiałem to zrobić, ale staramy się (wszyscy!) by na forum panował porządek a nie burdel.
Na przyszłość radzę uważniej PRZEGLĄDAĆ forum przed założeniem nowego wątku a nie będę musiał nic zamykać.
Poza tym, dyskusja będzie o wiele ostrzejsza jeżeli będzie toczyła się w jednym wątku a nie w dwóch ;-)

Napisany przez: bela_666 29.10.2004, 13:10:50

MySQL jest płatne, ale wypadku modyfikacji kodu źródłowego

[edit]

wczoraj gadałem z ojciem o bazach danych i miał taki przypadek, ze PgSQL padł i użytkownicy nie mogli się zalogować, user potracił granty
z pewnością coś takiego nie miałoby miejsca w Oraclu czy MSSQL

Napisany przez: anas 29.10.2004, 13:27:51

Cytat(zalew @ 2004-10-29 11:56:11)
http://builder.com.com/5100-6388-1050671.html

Hej.

Shylon Ray Hunter | July 1, 2002 - czy nie wydaje Ci sie ze 2 lata w dziedzinie informatyki (a tym samym baz danych to duzo)?

- kiedys juz to przegladalem i np.

Foreign key support - Mysql - NO - no mi sie wydaje ze jest jednak inaczej.

Views - rzeczywiscie jeszcze ich nie ma - ale juz w wersji 5-atej mozna z nich korzystac - ale do czasu wypuszczenia stable nie jest to dobre rozwiazanie - pozatym glownym wykorzystaniem widokow wydaja mi sie wzgledy bezpieczenstwa, ktore mozna uzyskac rowniez za pomoca uprawnien

Triggers - jesli chodzi o wyzwalacze to rzeczywsice rowniez ich nie ma - przykladem uzycia moze byc sprzatanie w przypadku usuniecia rodzica - ale jak wspomnialem w MySQL-u dzialaja juz w pelni klucze obce z mozliwoscia ustawienia takich parametrow jak ON DELETE czy ON UPDATE - i w naszym przypadku CASCADE. Tak czy siak wyzwalaczy brakuje. W moim przypadku idealne narzedzie do zrobienia QUOTY w MySQL-u, ktorej standardowo nie ma.

Stored procedures - no rzeczywiscie nie ma jezyka PL/SQL i tego mi najbardziej brakuje - ale dla upatrych mozna zawsze napisac wlasne funkcje w c i zaimplementowac je do serwera MySQL, lub poprostu robic te rzeczy na warstwie aplikcacji

Co do podzapytan:

http://dev.mysql.com/doc/mysql/en/Subqueries.html

Unie - od 4.0 juz sa

A to co znalzlem drazac temat:

http://dev.mysql.com/doc/mysql/en/Roadmap.html

... i teraz zadaje sobie pytanie czy warto sie przesiadac, czy tez nie. Pozatym jeden z przedmowcow wspomnial o tym ze MySQL jest platnym serwerem bazodanowym - ja myslalem ze serwer nie jest, a jedynie wsparcie?

Czy rzeczywiscie z doswiadczenia waszego wynika(nie mowie o malych skryptach do newsow itp) ze przy projektowaniu zlozonych aplikacji PostgreSQL staje sie narzedziem lepszym? Co mnie najbardziej zaszokowalo to fakt iz wydajnosciowo jest gorszy od MySQL-a.

Napisany przez: DavidPL 29.10.2004, 14:09:15

Cytat(kszychu @ 2004-10-29 12:08:04)
ohmy.gif Chryste! od kiedy??

Od co najmniej końcówki 2001 roku.

--
Pozdrawiam,
Dawid Szałęga

Napisany przez: zalew 29.10.2004, 14:12:50

Cytat
Stored procedures - no rzeczywiscie nie ma jezyka PL/SQL i tego mi najbardziej brakuje - ale dla upatrych mozna zawsze napisac wlasne funkcje w c i zaimplementowac je do serwera MySQL, lub poprostu robic te rzeczy na warstwie aplikcacji


"po prostu robic na warstwie aplikacji" - wiesz, mowa tu o bazie, a nie o tym ze moze ona sluzyc za tableki i wszytko robic poza nia.. na mysql nie rozdzielisz warstwy aplikacji i bazy danych i w tym wlasnie caly problem.. po to sa udf czy procedury skladowane zeby moc zaprojektowac poprawnie i elastycznie aplikacje rozdzielajac interfejs od bazy.. na braku funkcji badz procedur mysql sie dla mnie konczy..
metody 'dla upartych' mnie nie interesuja, nie wiem zreszta po co tyle osob probuje udawadniac ze mysql dorownuje pg.. tam gdzie nie trzeba projektowac systemu poprawnie, badz jest na tyle maly, ze pozniejsza jego konserwacja nie odgrywa zanczenia, oczywiscie wystarczy mysql.. dlatego tak wiele osob go uzywa ze im wystarcza.. obecnie do wiekszosci zlecen uzywam postgres i ciezko by mi bylo sie cofnac w rozwoju i pisac nawet sredniego cmsa przekladajac wszystkie zadania bazy na php..
na mysqlu mam fotobloga, dwa portfolia, sajt z newsami, kilka malych sklepow, i wiekszosc stron dawnych klientow, ktore maja bardzo prosta strukture... ostatnie moje zlecenia jednak to dosc zlozone sajty z cmsami, gdzie obojetnie czy pracujac sam czy rozdzielajac zadania po prostu warstw bazy od programu musze rozdzielic, bo inaczej zgine.. tutaj mam postgres i zadnia bazy tworze i koryguje na poziomie bazy, a logike interfejsu rzezbie w php.. nie potrafilbym juz tego pomieszac..

pytasz czy 2 lata to duzo, owszem duzo, ale i tak dopiero niedawno sie pojawily nowe featuresy w mysqlu i nie widze powodow zeby leciec z tego tytulu do niego jak po cieple bulki rano.. po prostu nie widze.. postgres spelnia wymagania do poprawnej budowy aplikacji bazodanowej, mysql nie, po co to tlumne namawianie na My? bez sensu

problemem dla mnie jest tylko nieznajomosc administracji postgresa przez niektorych providerow, zazwyczaj gdy kaze na koncie moich klientow zalozyc postgres to w sluchawce slychac 'yyy... hmm...' i rozne serie tlumaczen.. juz kilku hostingowcow moich klientow wyslalem na drzewo, bo nie potrafili badz nie chcieli zainstalowac i udostepnic mi w dzialajacej formie postgres... na mysql'u swiat baz danych sie dla nich konczy (tak jak dla wiekszosci programistow), nikt z ich kleintow nie korzystal i srednio mozna liczyc na jakakolwiek znajomosc tematu.. na szczescie mam jedna firme, z ktora wspolpracuje w ktorej sa solidni ludzie i przynajmniej tam mam spokoj o ich kompetencje..

Napisany przez: kszychu 29.10.2004, 14:17:14

Cytat(DavidPL @ 2004-10-29 14:09:15)
Cytat(kszychu @ 2004-10-29 12:08:04)
ohmy.gif Chryste! od kiedy??

Od co najmniej końcówki 2001 roku.

--
Pozdrawiam,
Dawid Szałęga

N stronie: http://www.mysql.com/company/legal/licensing/opensource-license.html
czytamy
Cytat
Our software is 100% GPL (General Public License); if yours is 100% GPL compliant, then you have no obligation to pay us for the licenses.

Czyli jednak nie do końca jest płatny...

Napisany przez: SongoQ 29.10.2004, 14:18:27

@bela_666

Cytat
wczoraj gadałem z ojciem o bazach danych i miał taki przypadek, ze PgSQL padł i użytkownicy nie mogli się zalogować, user potracił granty
z pewnością coś takiego nie miałoby miejsca w Oraclu czy MSSQL


Postgresa czy MySQL'a nie ma co porownywac do ORACLE'a to jest tak jak bys porownywal malucha do mercedesa. Troche nietypowe porownanie ale taka jest prawda.

@anas Wydaje mi sie ze Postgres jest lepszy przy projektowaniu "wiekszych" aplikacji niz MySQL. Takie jest moje zdanie. Chociaz nie jestem przeciwny MySQL'owi, ale brakuje mu tych wyzej wymienionych mechanizmow ktore sa bardzo wazne.

Napisany przez: DavidPL 29.10.2004, 14:21:12

Cytat(zalew)
na szczescie mam jedna firme, z ktora wspolpracuje w ktorej sa solidni ludzie i przynajmniej tam mam spokoj o ich kompetencje..

Całkowicie się z Tobą zgadzam.

A tak BDW jeśli masz takiego providera to podziel się smile.gif
Może komuś się przyda smile.gif

Cytat(kszychu)
N stronie: http://www.mysql.com/company/legal/licensi...ce-license.html
czytamy

Cytat

Our software is 100% GPL (General Public License); if yours is 100% GPL compliant, then you have no obligation to pay us for the licenses.


Czyli jednak nie do końca jest płatny...


O ile mi wiadomo to MySQL ma 2 licencje:
Jedną - wirusową - GPL i komercyjną, a że nie za bardzo lubię rozdawać na prawo i lewo moją pracę, i cały włożony w produkt wisiłek, a następnie patrzeć jak ktoś się pod tym podpisze i sprzeda jako swoje to zostaje mi kiepski komercyjny MySQL albo darmowy i całkiem niezły PostgreSQL.

--
Pozdrawiam,
Dawid Szałęga

Napisany przez: SongoQ 29.10.2004, 14:41:36

Cytat
"po prostu robic na warstwie aplikacji" - wiesz, mowa tu o bazie, a nie o tym ze moze ona sluzyc za tableki i wszytko robic poza nia.. na mysql nie rozdzielisz warstwy aplikacji i bazy danych i w tym wlasnie caly problem.. po to sa udf czy procedury skladowane zeby moc zaprojektowac poprawnie i elastycznie aplikacje rozdzielajac interfejs od bazy.. na braku funkcji badz procedur mysql sie dla mnie konczy..


Zgadzam się z tym całkowicie. Nie po to jest baza danych zeby obliczenia i tak w programie robic, to jest bezsens. Baza danych sluzy do zwracania gotowych danych a aplikacja sluzy do prezentacji tego wszystkiego, tak samo jak mechanizmy baz danych sa tak rozwiniete ze zwracac dane, ktere wymagaja tylko ewentyualnie drobnego sformatowania i w przypadku php pobrania i przekazania do np SMARTY.

Jesli chodzi o administracje Postgresa oj cieniutko z tym u providerow.

Powiem moze tak obrazliwie dla niektorych. Duzo jest osob ktore zaczynaja przygody z bazami danych i jak np odpala sobie takiego phpmyadmina to "sliczne" im sie to wydaje, gorzej juz bywa jesli zobacza pgAdmina - co to jest? po co mi to wszystko? Nie mowie juz o ORACLE'u.

Moim zdaniem zeby sie wypowiedziec na ten temat trzeba poznac mozliwosci "prawdziwych" baz danych a nie twierdzic ze MySQL jest najlepszy, widzac tylko w szkole na zajeciach Accesa i robiac newsy w MySQL.

Przytocze slowa pewnego dr "Kazda baza danych jest odpowiednia do odpowiednich zastosowan" i z tym sie zgadzam ale nie mozna wywyzszac MySQLa ponad Postgresa.

Napisany przez: anas 29.10.2004, 14:43:30

Hej ponownie.

Zalew - thx za wyczerpujaca odpowiedz - co do PosgreSQL-a to rzeczywiscie wydawalo mi sie ze jest to baza bardziej profesionalna - przez co byla mniej uzywana a tym samym krytykowana za trudnosc znalezenienia pomocy itp.

Korzystajac z okazji chcialbym zapytac jaki podrecznik do nauki tejze bazy byscie polecili - osobiscie jak mowilem mialem stycznosc z ORACLE-m, wiem jak jest poteznym serwerem baz danych i jak duze ma mozliwosci - mam w domu ksiazki z campusow szkoleniowych ktore przestudiowalem i pracowalem z ta baza i dlatego zastanawia mnie fakt, ze ktos z przedmowcow wspomnial ze porownywanie bazy ORACLE do PostgreSQL-a to jak porownywanie malucha i mercedesa - mi sie wydaje ze oba serwery sa w miare dobre i maja rozne zastosowania a to co cechuje ORACLE-a to wsparcie i wbudowane narzedzia dodatkowe - ale to tylko moje zdanie (moze bardzo mylne)... Pewnie ktos zaraz zabije mnie slowami - a wydajnosc, a inne cechy smile.gif - owszem ale tu nie place zlotowki a za ORACLE-a 40 000 zielonych smile.gif

Tak czy inaczej narazie korzystam czesciej z MySQL-a, ale chyba jednak bede musial sie glebiej zainteresowac PostgreSQL-em, szczegolnie wazne jest dla mnie rozdzielenie logiki biznesowej od warstwy aplikacji... tak aby rozne aplikacje mogly bez problemu wyciagac pewne dane z tego samego modelu danych...

thx za wszystkie odpowiedzi...

ps. znacie jakies dobre przyklady wykorzystania posgres'a do rzeczy ktore trzeba bylo w MySQL-u robic na poziomie aplikacji - przyklady z zycia wziete...

pozdrawiam

anas

Napisany przez: SongoQ 29.10.2004, 14:58:34

@anas Odnosnie tego porowniania bo sam to napisalem, dalej twierdze ze tak jest, jak napisales ze masz doswiedczenie z ORACLEM to wiesz jakie mozliwosci oferuje bazka. Postgres nie jest tak rozbudowany ale pewne rzeczy posiada.

Wazna rzecza w PG jest mozliwosc stosowania pgplsql, ktory troszeczke sie rozni od plsql ORACLE, jest w nim cos takiego jak plperl, c.

Polecam przesiadke z MySQLa na Postgresa. Naprawde warto dla samych mechanizmow bazy.

Jesli chodzi o ORACLE to jest to naprawde serwer baz danych za ogromne pieniadze, ale w tym masz bezpieczenstwo, pomoc, stabilnosc itd.

Napisany przez: revyag 29.10.2004, 15:12:39

Niektórzy mogą tego nie uznać za minus, ale dla mnie tak jest, chodzi o instalacje postgresa na windzie, ojjj smile.gif

Napisany przez: SongoQ 29.10.2004, 15:18:24

Cytat(revyag @ 2004-10-29 15:12:39)
Niektórzy mogą tego nie uznać za minus, ale dla mnie tak jest, chodzi o instalacje postgresa na windzie, ojjj  smile.gif

Wyszla werjsa Postgresa na Windowsa. Ale masz racje Postgres i Windows nie najlepsze rozwiazanie.

Napisany przez: zalew 29.10.2004, 15:49:16

Cytat
Jesli chodzi o administracje Postgresa oj cieniutko z tym u providerow.

czas instalacji i nie daj bog modyfikacji liczony w dniach nie godzinach.. ostatnio nawet uslyszalem, ze 'po prostu takiej uslugi nie oferuja, bo nikt dotad jej nie potrzebowal' od dosc sporej firmy..

Cytat
A tak BDW jeśli masz takiego providera to podziel się smile.gif
Może komuś się przyda smile.gif

http://maze.pl wspolpracujemy juz dlugi czas i na lepszych na razie nie trafilismy. nie stracilem ani minuty zycia na nerwy, czego nie moge powiedziec o wiekszosci isp w polsce heh

Cytat
Moim zdaniem zeby sie wypowiedziec na ten temat trzeba poznac mozliwosci "prawdziwych" baz danych a nie twierdzic ze MySQL jest najlepszy, widzac tylko w szkole na zajeciach Accesa i robiac newsy w MySQL.

dokladnie.
jestem na ostatnim semestrze baz danych i szczerze mysle ze gdyby nie teoria, ktora mi wpajano, to tez uwazalbym ze mysql jest bogiem i czego wiecej mi trzeba, w koncu ma tabele i mozna tam wpisac jakies dane...
patrzac po forach (bazodanowych przegladam kilka zagranicznych), wejdzmy na dzial mysql i na dzial postgresql i porownajmy poziom stawianych zagadnien - "ziemia a niebo".. o mysql pytaja przewaznie ludzie nie wiedzacy jak powiazac ze soba proste struktury, na postgresach i ms, oracle, inne.. siedza ludzie, ktorzy doskonale znaja teorie, ulozyli prawidlowa strukture tylko napotykaja na problemy stricte techniczne, dotyczace pomocy w skladni zapytan badz obslugi samej platformy. (oczywiscie musze dodac "przewaznie").. czujecie roznice o ktorej mowie?
umiesz ukladac struktury danych albo nie umiesz, platforma jest tylko kwestia nauczenia sie nieco odmiennej skladni i ew. interfejsu do obslugi.. a to tylko kwestia czasu... teoria przede wszystkim - nie na darmo analityk jest nadrzedny dla tego co pisze kod.. jesli ktos nie jest obeznany dobrze w teorii, to przesiadka mu wiele nie da..
jesli ktos nie wie jak, to zadna roznica czym..
zeby nie molestowac porownania do samochodow - jesli ktos kto nie interesuje sie fotografia, nie studiowal tematu i nie cwiczyl dostanie nawet najnowszego canona eos za 15000, to nadal bedzie robil tak samo kiepskie zdjecia i tlumaczenia, ze zostaly wykonane na profesjonalnym sprzecie nic nie dadza..

podsmowujac, powtorze:
1. profesjonalnej i elastycznej (takiej aby zmiany w programie nie zmuszaly do poznawania na nowo struktury bazy) aplikacji bazodanowej w mysql nie da sie stworzyc i na tym polu ta platforma dla mnie nie istnieje.
2. za to do prostych zadan z powodzeniem ja mozna wykorzystac i dalej bede jej uzywal, bo jest latwiej dostepna u providerow i szkoda mi zachodu uzerac sie z nieznajomymi firmami tylko po to by postawic kilka dzialow i newsy. dlatego nie ma co mysql skreslac tylko korzystac tam, gdzie to wystarcza - tak samo jak nie potrzebujesz procedur w ms excel zeby dodac to siebie kilka liczb, otwierasz kalkulator..
3. dlatego mowimy o postgres, a nie oracle czy mssql, bo te drugie po prostu kosztuja majatek, przez co nie sa latwo dostepne dla wiekszosci firm, wiec szkoda czasu na porownania fiat i bmw

pozdr

Napisany przez: bela_666 29.10.2004, 17:43:34

Cytat(SongoQ @ 2004-10-29 15:18:27)
@bela_666

Cytat
wczoraj gadałem z ojciem o bazach danych i miał taki przypadek, ze PgSQL padł i użytkownicy nie mogli się zalogować, user potracił granty
z pewnością coś takiego nie miałoby miejsca w Oraclu czy MSSQL


Postgresa czy MySQL'a nie ma co porownywac do ORACLE'a to jest tak jak bys porownywal malucha do mercedesa. Troche nietypowe porownanie ale taka jest prawda.

@anas Wydaje mi sie ze Postgres jest lepszy przy projektowaniu "wiekszych" aplikacji niz MySQL. Takie jest moje zdanie. Chociaz nie jestem przeciwny MySQL'owi, ale brakuje mu tych wyzej wymienionych mechanizmow ktore sa bardzo wazne.

tu nie chodzi o porównanie, tylko o to, że takie coś nie powinno mieć miejsca
ten system dział w pewnym Urzędzie Gminy i zostali uziemieni, ponieważ posypała się baza

@zalew: coraz więcej firm/Urzędów się przesiada na np. MSSQLa

Napisany przez: DavidPL 29.10.2004, 17:53:44

Cytat(bela_666 @ 2004-10-29 18:43:34)
tu nie chodzi o porównanie, tylko o to, że takie coś nie powinno mieć miejsca
ten system dział w pewnym Urzędzie Gminy i zostali uziemieni, ponieważ posypała się baza

@zalew: coraz więcej firm/Urzędów się przesiada na np. MSSQLa

Pytanie dlaczego się posypała?
Tak sama os siebie czy może ktoś jej dopomógł...
A możę aplikacja obsługująca bazę nie była odporna na powiedźmy SQL injection i ktoś przez przypadek wpisał jakieś śmieci i system leżał? Skąd wiesz że to wszystko było winą systemu bazodanowego a nie błędem człowieka?

Napisany przez: zalew 29.10.2004, 17:56:03

Cytat
@zalew: coraz więcej firm/Urzędów się przesiada na np. MSSQLa

nie powiedzialem, ze nie. nawet mnie to cieszy, bo msserver mi sie podoba. ale koszta sa wieksze, i poza tym dyskusja jest o pg smile.gif

Napisany przez: bela_666 29.10.2004, 18:17:37

Cytat(DavidPL @ 2004-10-29 18:53:44)
Cytat(bela_666 @ 2004-10-29 18:43:34)
tu nie chodzi o porównanie, tylko o to, że takie coś nie powinno mieć miejsca
ten system dział w pewnym Urzędzie Gminy i zostali uziemieni, ponieważ posypała się baza

@zalew: coraz więcej firm/Urzędów się przesiada na np. MSSQLa

Pytanie dlaczego się posypała?
Tak sama os siebie czy może ktoś jej dopomógł...
A możę aplikacja obsługująca bazę nie była odporna na powiedźmy SQL injection i ktoś przez przypadek wpisał jakieś śmieci i system leżał? Skąd wiesz że to wszystko było winą systemu bazodanowego a nie błędem człowieka?

--
Pozdrawiam,
Dawid Szałęga

dopytam o szczegóły

[edit]
co do sql injection to raczej tą opcje można wykluczyć bo te systemy obsługują Panie w Urzędach, które czasami "boją się" używać komputera i zastanów się teraz co One mogą wiedzieć o SQL injection winksmiley.jpg

Napisany przez: SongoQ 29.10.2004, 20:33:07

OK to po kolei:

@zalew Trochę przesądziłem z tym porównaniem samochodów ale chciałem uświadomić różnice na konkretnym przykładzie.

Odnośnie podstaw baz danych masz 100% racje. Trzeba tez znać teorie.
Z tymi forami zagranicznymi to masz tez 100% racje. Od razu widać nawet na tym forum, ze jeśli ktoś pyta się o złączenie tabel lub sortowanie to od razu widać ze jego wiedza no nie ukrywajmy jest 0. Jeśli chce cos wiedzieć o bazach danych to polecam zakup książki podstawy baz danych, instalacja Accessa (QBE) niech sobie poklika i zobaczy jak to wygląda. Naprawdę strata tylko jego czasu i osoby która mu odpowiada.

@bela_666 Co do tego ze się baza "posypała". Bazy od tak się nie sypia, a każdy człowiek się myli nawet najlepsi specjaliści w tej dziedzinie się mylą. Nie należy zwalać akurat winy na bazę. Tak jak DavidPL napisał skąd wiesz ze wina leży po stronie bazy danych? Potrafisz to stwierdzić ze akurat tak było?

Cytat
tu nie chodzi o porównanie, tylko o to, że takie coś nie powinno mieć miejsca  ten system dział w pewnym Urzędzie Gminy i zostali uziemieni, ponieważ posypała się baza


A gdzie kopie? Co z mechanizmami przywracania danych? = null ?

Cytat
@zalew: coraz więcej firm/Urzędów się przesiada na np. MSSQLa


Dla czego? Aplikacje są pisane pod Windowsa, a co najlepiej działa pod Windowsem to już każdy wie ze produkty tej samej firmy. Wiec nie dziwie się ze gminy przesiadają się na takie bazy, dla niektórych jest kłopotem "postawienie" serwera baz danych.

Cytat
co do sql injection to raczej tą opcje można wykluczyć bo te systemy obsługują Panie w Urzędach, które czasami "boją się" używać komputera i zastanów się teraz co One mogą wiedzieć o SQL injection


No w tym przypadku SQL injection - hehe - wykluczone, ale każdy wie ze użytkownicy którzy się nie znają potrafią nieraz wywalić i to bardzo duże systemy, przez głupie wpisywanie danych lub klikanie gdzie popadnie.

Napisany przez: anas 29.10.2004, 21:01:39

Hej.

Zalew: w sumie sie zgadzam ze najwazniejsza jest teoria i bez niej nie ma co praktykowac - ale zauwaz(podpieram sie tutaj wieloma pozycjami na temat baz danych, modelu relacyjnego itp - chociaz dopiero za rok wybiore specjalizacje - rowniez bazy danych to juz od wielu lat zajmuje sie tym tematem), ze wlasnie przy projektowaniu musimy zakladac jakiej uzywamy technologii i czy oferuje nam ona mozliwosci spelnienia zalozen projektu bazy - np projektujac baze w narzedziach takich jak CASE STUDIO na poczatku musze okreslic jakiej bazy uzywam, gdyz roznia sie one i to dosc mocno co sam wczesniej udowadniales... stad teoria teoria - ale poznanie dobrze systemu bazodanowego specyficznego wymaga nie mniejszej pracy i czasu - stad moje pytanie czy warto - fakt powyzsze posty przekonaly mnie ze jednak tak - i z checia dowiedzialbym sie co byscie polecili za podrecznik jesli chodzi o baze PosgreSQL - fajnie jakby zawierala informacje na temat administracji baza, gdyz moja firma swiadczy uslugi hostingowe i chcialbym zeby postgreSQL ktory u nas chodzi nie stwarzal problemow o ktorych wspominales kontaktujac sie z innymi providerami.

THX za pomoc... Ps. A co myslicie o modelu obiektowym - troche na ten temat czytalem - dorwalem kiedys pozycje z Wydawnictwa Naukowo Technicznego o taka: http://www.wnt.com.pl/wnt/ksiazki.nsf/uid/001020100237wBAMR4QABFN?OpenDocument i szczerze mowiac nie przekonal mnie model obiektowy - moze zbyt topornie to bylo przekazane - wole metody lopatologiczne i rzeczowe - przyklady z zycia wziete, a nie akademickie... Co mozecie na ten temat powiedziec?

pozdrowka

anas

Napisany przez: zalew 29.10.2004, 21:49:16

Cytat
wlasnie przy projektowaniu musimy zakladac jakiej uzywamy technologii i czy oferuje nam ona mozliwosci spelnienia zalozen projektu bazy - np projektujac baze w narzedziach takich jak CASE STUDIO na poczatku musze okreslic jakiej bazy uzywam, gdyz roznia sie one i to dosc mocno co sam wczesniej udowadniales...

oczywiscie, nalezy wybrac platforme, na ktorej praca przebiegnie najsprawniej, ktora bedzie miala pozadane przez nas zabezpieczenia i featuresy, ew. gui, pracowala sprawnie na istniejacym u nas systemie oraz miescila sie w naszym budzecie..
ale jesli mowimy o platformie w sensie samej struktury, to roznia sie conajwyzej typami danych, i po to wlasnie wybierasz to na poczatku w case studio..
przynajmniej ja nie zauwazylem innych roznic i powodow, ale moze mi podsuniesz jakis przyklad..

Cytat
QUOTE
coraz więcej firm/Urzędów się przesiada na np. MSSQLa

Dla czego? Aplikacje są pisane pod Windowsa, a co najlepiej działa pod Windowsem to już każdy wie ze produkty tej samej firmy. Wiec nie dziwie się ze gminy przesiadają się na takie bazy, dla niektórych jest kłopotem "postawienie" serwera baz danych.

poza tym zalezy czy mowimy o bazach stricte pod serwis internetowy, czy jako baze swiadczaca uslugi wewnatrz firmy.. bo pod sama strone internetowa nikt specjalnie m$ nie bedzie kupowal majac do dyspozycji postgresa, za to jesli baza ma obslugiwac firme to wypadaloby zeby miala chociazby support producenta..

Napisany przez: itsme 30.10.2004, 08:20:43

M$ dla studentow bedzie za darmo ....
tak wiec rodzi sie nowa walka pomiedzy posgresem a wyromabi M$

Napisany przez: dag 30.10.2004, 08:59:40

Cytat(itsme @ 2004-10-30 09:20:43)
M$ dla studentow bedzie za darmo ....
tak wiec rodzi sie nowa walka pomiedzy posgresem a wyromabi M$

A co jeśli ktoś nie jest studentem i w dodatku chce wykorzystywać bazę do celów komercyjnych?

Napisany przez: bela_666 30.10.2004, 11:48:33

kopie oczywiscie były, ale co z tego, jak nie mozna sie zalogowac !

przyczyna nie została znaleziona, ale na innych bazach takiego przypadku nie było, nawet na dBasie winksmiley.jpg

Napisany przez: anas 30.10.2004, 14:04:07

Hej

Zalew: No w sumie same typy danych to nie wszystko, przeciez okreslajac czy bede cos projektowal pod MySQL-a 3.x czy moze 4.x CASE STUDIO udostepni mi mozliwosc ustawienia tabel dla 4.x na typ InnoDB - a co za tym idzie obsluge kluczy obcych, transakcji etc... podobnie z innymi funkcjami - jak wybiore PostgreSQL-a to narzedzia CASE umozliwia mi wykorzystanie ich mozliwosci - dlatego nie do konca zgodze sie ze najwazniejsze sa podstawy teoretyczne - poniewaz nie kazda baza moze spelnic nasze wymagania.

No i po raz ktorys zapytam o pozycje ksiazkowe? - co polecicie do PostgreSQL-a, bo coraz bardziej robie sie glodny na ta baze.

pozdrowka

anas

Napisany przez: Kamis 30.10.2004, 22:07:05

Moim zdaniem:
1. PostgreSQL jest całkowicie darmowy to jego ogromny plus!

2. Szybkość. Z tego co testowałem (baza rozproszona)... wyszło mi, że przy 10 000 rekordów PostgreSQL szybciej odnajdywał szukaną danę. Jednak przy mnejszej bazie 4 000 MySql był szybszy.

Tak więc moją uwagę zwrócił właśnie PostgreSQL bo była mi potrzebna duża wydajność i dlatego polecam.

Wybór jednak należy do Ciebie.

Ps. Weź też pod uwagę, że do MySQL'a jest więcej manuli, tekstów w necie, książek... Mi jednak wystarcza oficjalny angielski manual PostgreSQL smile.gif
Ps. Jeśli chodzi o książki "PostgreSQL praktyczny przewodnik" Worsley i Drake. wyd. Helion -->O'Reilly<-- książka na prawdę godna polecenia.

Napisany przez: Krolik 9.02.2005, 15:33:58

Wg mnie porownanie wyglad atak:

1. MySQL nie ma transakcyjnosci - bardzo duzy minus i niestety do zadnych powaznych zastosowan bym MySQLa nie uzyl. Co jak siadzie mi prad? Bede zbieral te rozsypane bajty z tabel pozniej recznie?

2. Gorsza niezawodnosc MySQLa w zwiazku z punktem 1. Dodatkowo zrazila mnie niestabilna praca MySQLa na OpenBSD, podczas gdy Postgres na tej samej maszynie chodzil dobrze.

3. Nizsza wydajnosc MySQLa. PostgreSQL ma lepszy optimizer (tzn. dla skomplikowanych zapytan uklada zwykle lepszy plan wykonania), wiec mimo wolniejszego executora (narzut na transakcje), na duzych bazach przy skomplikowanych zapytaniach chodzi szybciej. Np. w MySQLu podzapytania dodano stosunkowo niedawno, wiec i query-rewrite jest slaby (a w ogole jest?)... Tak czy inaczej, do optimizera DB/2 jest jeszcze daleko.

4. Moze subiektywna opinia, ale Postgresem jakos latwiej sie administruje, zwlaszcza w przypadku maszyn, gdzie kazdy user chce miec wlasna baze danych na koncie (autentykacja przez passwd/shadow, a w MySQL trzeba osobno definiowac granty).

5. Kod zrodlowy MySQL jest tak napisany, ze nie wiadomo gdzie co jest, b***** jak diabli. A w Postgresie jest ladny porzadek, czytelna struktura plikow/katalogow i duzo komentarzy w kodzie. Widac, ze nad Postgresem pracuja specjalisci wyzszej klasy.


@anas: Co do modelu obiektowego, to nie jest to jakis tam akademicki wymysl. Coraz wiecej firm uzywa mapowania obiektowo-relacyjnego.
Czyste bazy obiektowe nie przyjely sie nie dlatego, ze pomysl byl do kitu tylko dlatego, ze nie musisz miec obiektowej bazy, zeby dostawac sie do niej w obiektowy sposob. A glownie o sposob dostepu do danych chodzi,a nie o to jak sa przechowywane (czy sa to tylko tabele, czy moze jakis engine obiektowy). Latwiej bylo wyposazyc istniejace SZBD w mechanizmy obiektowe niz zaczynac wszystko od nowa. Obecnie moge miec baze relacyjna, a w aplikacji nie uzyc ani jednego zapytania SQL. Tyle, ze dla php ta droga jest na razie zamknieta sad.gif

Napisany przez: SongoQ 9.02.2005, 15:47:39

@Krolik Dokładnie zgadzam sie z Taba.

To co Postgres teraz posiada to MySQL nie osiagnie tego w przeciagu 5 lat.

Warto poswiecić chwilkę na postgresa a konkretnie na plPHP.

Napisany przez: popbart 9.02.2005, 21:14:26

Mnie ostatnio dobiła świadomość że, wybierając tabelę typu innodb(klucze obce itd) w MySQL, nie mogę zastosować index full-text.
Nie dość że się rozwija jak żółw to jeszcze trzeba wybierać "coś za coś".
Normalnie jestem ostatnio zafascynowany możliwościami PostgreSQL.

@SongoQ, nie warto inwestować w pl/pgsql ? (podobieństwo do oracle)

Napisany przez: SongoQ 10.02.2005, 07:06:23

Cytat
@SongoQ, nie warto inwestować w pl/pgsql ? (podobieństwo do oracle)


Chodziło mi bardziej o to ze autorzy tak wspanialej bazy jak Postgres umożliwili programista php, latwiejsze wdrozenie w jezyk pl w Postgresie. Jesli chodzi o pl/pgsql to szczerze w projektach komercyjnych tylko to wykorzystuje. Jak juz wspomniales (podobieństwo do oracle), latwo pozniej przeniesc na ORACLa.

Moj ostatni projekt byl oparty na bazie MySQL (taki wymog) i potrzebowalem uzyc bazki do obliczen, no ale tak "wspaniały" MySQL jak go wszyscy chwala nie posiada mechanizmow, ktore posiadaja "prawdziwe bazy danych".

Napisany przez: Ociu 10.02.2005, 10:28:07

Ja chciałbym tylko wspomnieć, że pgSQL doczekał się wersji pod windows dopiero w finałowej ósemce.

Więc, nie każdy wcześniej mógł zainstalować pgsql, a jeśli ktoś chciał musiał się mocno nagłowić. To wprowadziło następną reackję, że firmy hostingowe niechętnie instalowały bazę na serwerach, bo po co instalować rzadko używaną bazę.

Ciekawe jak to będzie teraz...

pozdrawiam
Wojtek

Napisany przez: SongoQ 10.02.2005, 10:39:39

Wydaje mi sie ze czym baza bardziej rozbudowana to mniej ludzi (odnosnie jezyka php) uzywa. Mozna to zauwazyc po postach na tym forum.

Widac tez poziom pytan odnosnie tych baz danych.

Odnosnie PG to fakt wersja < 8 to windows raczej sie nie nadawal, a co dopiero instalacja. Mysle ze firmy hostingowe zaczna wprowadzac PG do swoich cennikow. Np home.pl juz od dluzszego czasu oferuje taka usluge.

Napisany przez: Ociu 11.02.2005, 10:46:01

Cytat(SongoQ @ 2005-02-10 11:39:39)
Np home.pl juz od dluzszego czasu oferuje taka usluge.

Niestety, nie wszystkich stać na takie luksusy jak home.pl

pozdrawiam

Napisany przez: SongoQ 12.02.2005, 10:02:06

Mysle ze sa inne firmy, ktore w swoich ofertach maja PostgreSQLa i oczywiście za mniejsza cene.

Napisany przez: popbart 12.02.2005, 12:15:55

Mam do was pytanie.
Używałem w FoxPro kursorów, w PostgreSQL też są.
Czy ktoś z was już tego używał w PostgreSQL ?

Napisany przez: dvc 23.02.2005, 17:26:59

Cytat(SongoQ @ 2004-10-29 14:58:34)
@anas Odnosnie tego porowniania bo sam to napisalem, dalej twierdze ze tak jest, jak napisales ze masz doswiedczenie z ORACLEM to wiesz jakie mozliwosci oferuje bazka. Postgres nie jest tak rozbudowany ale pewne rzeczy posiada.

Wazna rzecza w PG jest mozliwosc stosowania pgplsql, ktory troszeczke sie rozni od plsql ORACLE, jest w nim cos takiego jak plperl, c.

Polecam przesiadke z MySQLa na Postgresa. Naprawde warto dla samych mechanizmow bazy.

Jesli chodzi o ORACLE to jest to naprawde serwer baz danych za ogromne pieniadze, ale w tym masz bezpieczenstwo, pomoc, stabilnosc itd.

Tylko gdzie ta wydajnosc ? winksmiley.jpg

Jesli kupujesz cos za ogromne pieniadze chesz zeby to byla rakieta i miala wszystko w sobie winksmiley.jpg

Teoria: fundamentalna podstawa (potrzebna by zrozumiec i ogarnac temat)
Doswiadczenie: najwazniejsze winksmiley.jpg (nie trzeba chyba tlumaczyc)

Napisany przez: SongoQ 24.02.2005, 16:27:12

@dvc

Cytat
esli kupujesz cos za ogromne pieniadze chesz zeby to byla rakieta i miala wszystko w sobie


A tak nie jest?

Napisany przez: cfk 27.02.2005, 00:24:27

moim zdaniem każdy system jest do róznych baz. MySQL jest darmowy ale sprawdza się przy małych bazach. Natomiast oracle jest drogi ale na oraclu stoją bazy po dwa miliony rekordów i nic sie nie sypie i ładnie sie edytuje. A tak poza tym nowy oracle 10g ma pare fajnych rzeczy które podwyższaja jego średnią ocene:)

Napisany przez: dvc 28.02.2005, 13:05:39

Cytat(SongoQ @ 2005-02-24 16:27:12)
A tak nie jest?

Jak nie zobacze nie uwierze winksmiley.jpg

Liczby nie klamia, wiec poprosze o linki stron gdzie ktos w 2004 roku przeprowadzal test baz danych pod wzgledem wydajnosci. Wiadomo ze MySQL nie posiada tego co ma PostgreSql czy Oracle, ale przeciez ma zapytania SELLECT, INSERT, UPDATE winksmiley.jpg

Bazy danych Oracle sa dedykowane dla korporacji przemyslowych takich jak banki i inne instytucje temu podobne.

Napisany przez: MStaniszczak 14.07.2005, 21:43:52

Witam

Oracle jest w kilku "rozmiarach" ;-)
- Oracle Database 10g Standard Edition One - dość tani, 149$ za usera, licencja na jeden serwer z jednym do dwóch procesorów (czyli raczej nie bazy o wielkości terabajtów;-)
- Oracle Database 10g Standard Edition - możliwość pracy zarówno na pojedynczym serwerze jak i w klastrze - ograniczenei to maks. 4 procesory (łącznie
- Oracle Database 10g Enterprise Edition - możliwość pracy w kastrze bez ograniczeń, dodatkowo takie rzeczy jak OLAP i wiele innych

Z tym że Oracle to nie jest baza do obsługi stronki Kowlaskiego i to nie tylko ze względu na cenę, ale po prostu nie rozwinie on skrzydeł na bazach po kilka, kilkanaście mega. Tylko będzie niepotrzebnie zżerał zasoby komputera;-) Za to na bazach kilku gigabajtowych jest już lepiej;-)

Dodatkowo zróżnicowanie baz od Standard One do Enterprise Edition pozwala na łagodny rozwój firmy bez strachu o to że w którymś momencie może się okazać że stanie ona przed problemem migracji np. z PostgreSQL-a na Oracle EE lub inną Enterprie-ową baze (DB2 czy Informix, czy cokolwiek innego).

A jeśli ktoś jeszcze nie wiem, MySQL produkuje od niedawna dość tanią bazę klasy Enterprise – MaxDB (niegdyś rozwijany przez SAP baza SAP DB).

Pozdrawiam
Marcin Staniszczak

PS Nie wiem jak to jest teraz, ale Oracle (tak jak i inni producenci baz EE) nie pozwalał na publikowanie porównań wydajności swojej bazy z konkurencją...

Napisany przez: SongoQ 15.07.2005, 00:03:02

Odnosnie ORACLE - za jakosc się płaci. Moim zdaniem cena jest odpowiednia do mozliwosci jakie oferuje bazka.

Cytat
PS Nie wiem jak to jest teraz, ale Oracle (tak jak i inni producenci baz EE) nie pozwalał na publikowanie porównań wydajności swojej bazy z konkurencją...

Taka firma jak ORACLE mogla by sobie pozwolic smile.gifsmile.gif

Napisany przez: Ccn 25.09.2005, 11:04:28

Używałem obu baz na Windows XP, kiedy już zmusiłem postgresql'a do pracy (musiałem mu zrobić konto zwykłego usera i konfiguracja i phppgadmin...) i mysql to zainstalowałem phpBB 2.0.17 na mysql i postgresql i zacząłem testować, phpbb na postgresql srało co jakiś czas błędami, chociaż później już nie. MySQL działało troche szybciej niż PostGreSQL i nie robiło błedów. Dla mnie MySQL lepsze, bo jest najpopujarniejsze (chyba)

Napisany przez: mike_mech 25.09.2005, 11:15:40

Cytat(Ccn @ 2005-09-25 12:04:28)
Dla mnie MySQL lepsze, bo jest najpopujarniejsze (chyba)

Jedzmy gówno miliony much nie mogą się mylić. (przepraszam, jeśli uraziłem kogoś)

MySQL ma dużo mniejsze możliwości, choć wersja 4.1 już jest zbliżona do bazy danych. Może i jest szybszy na małych, niepoindeksowanych, niepoprawnie skonstruowanych bazach/tabelach.

Ale jest on tylko namiastką bazy danych dobrą do księgi gości, liczników troszkę większych konstrukcji.

Napisany przez: Ozzy 25.09.2005, 11:42:05

A ma ktoś patent na Postgresa na FAT32?
Póki co nie zamierzam się przesiadać na NTFS, poza tym uważam, że to chybiony pomysł, powinna być jakaś opcja dla FAT32 nawet kosztem ograniczenia bezpieczeństwa (dla celów deweloperskich ma to akurat niewielkie znaczenie).

Napisany przez: SongoQ 29.09.2005, 17:17:04

@Ccn

Cytat
Dla mnie MySQL lepsze, bo jest najpopujarniejsze (chyba)

Zeby cos porownac trzeba uzywac, poznac mozliwosc. To ze wiecej osob uzywa to nie znaczy ze jest lepszy.. MySQL nie wykorzystyje sie do bardzo skomplikowanych projektow, sa to proste rzeczy a takich serwisow jest najwiecej, statystyki, sada, logowanie i rejestracja. Gdzie w gre wchodza juz rzeczy zwiazane z wydajnosci, z mechanizmami odzyskiwania danych, zabezpieczen itd kazdy zastanawia sie nac czyms naprawde co by moglo temu sprostac.

Osobiscie uzywam MySQL do prostych zastosowan, ale nie twierdze ze ta baza jest lepsza od np Postgresa. W PG moge sobie wszystko przeniesc na baze, php tylko mi wyswietla i przekazuje informacje od usera.

Wydaje mi sie ze nie ma sensu ciagnac tej dyskusji. Na forum sa linki do porownan ORACLE, PG, MSSQL, MySQL, wystarczy poszukac i zobaczyc.

Napisany przez: FiDO 29.09.2005, 18:15:59

Ja od siebie dodam, ze przez miesiac wakacji mialem praktyki w pewnej firmie (a potem zostalem jeszcze na dluzej, wiec w sumie prawie cale wakacje tam robilem), ktora nastawiona jest na robienie aplikacji w .NET. Pierwszy raz mialem tam stycznosc z MSSQL'em (wczesniej powazniejsza baze widzialem tylko na laborkach z Oracla, no i kiedys bawilem sie troche PG, bo jeden projekt tego wymagal, ale nie stosowalem nawet wtedy wiekszosci jego funkcji). Bardzo szybko sie go nauczylem, po 2-3 tygodniach grzebania w nim codziennie osiagnalem calkiem niezla plynnosc w pisaniu niekoniecznie prostych procedurek. I co moge powiedziec?
Ze "zakochalem" sie w procedurach skladowanych... zrobilem z pomoca tej bazy podczas calego swojego stazu kilka mniejszych projektow, praktycznie wszystko co moglem zamykalem w procedury i naprawde mi sie to spodobalo. Daja one calkiem spore pole do popisu (aczkolwiek T-SQL'owi z MSSQL'a jeszcze troche brakuje i niektore rzeczy sa trudne do zrobienia, badz niewydajne) i naprawde nie moge sie doczekac mysql'a w wersji 5 (nota bene.. juz jest Release Candidate, nie beta, takze do konca roku chyba bedzie stabilna wersja).
PG jest oczywiscie fajny i ma procedury juz od dawna... ale na jego niekorzysc przemawia niestety mala popularnosc. Gdyby byl u wiekszej ilosci firm hostingowych to napewno wyszloby mu to na dobre. Co z tego, ze ja go sobie moge w domu zainstalowac (co juz zreszta dawno uczynilem, a meczarni troche bylo, bo jeszcze za czasow, kiedy nie bylo wersji natywnej pod windowsa), jesli jest on rzadko spotykany i do wiekszosci projektow stosuje mysqla wlasnie dlatego, ze na serwerze docelowym innej opcji po prostu nie ma.
Dlatego duze nadzieje pokladam w MySQL5, ktory moze to zmienic i w koncu stac sie porzadna i popularna (glownie w sensie wystepowania na serwerach) baza danych.

Napisany przez: SongoQ 29.09.2005, 21:37:59

Cytat
Dlatego duze nadzieje pokladam w MySQL5, ktory moze to zmienic i w koncu stac sie porzadna i popularna (glownie w sensie wystepowania na serwerach) baza danych.


To jest tak jak z windowsem, brakuje lat doswiadczenia. Wspomnialem o procedurach skladowych. Dla mnie tez to jest super sprawa, zamykam wtedy wszysto po stronie bazki, walidacja, autoryzacja i inne rzeczy jakie mi tylko do glowy przyjda. MySQL bedzie zawsze z poslizgiem zawsze bedzie wszystko kopiowane z ORACLE, a nawet z PG wkoncu nie ma co sciemniac to ORACLE jest liderem i tej firmie wszystko zawdzieczamy.

Napisany przez: Method 4.10.2005, 11:33:44

a co tu sie dziwic ze sie przesiadaja. tu klania sie proces pozyskiwania srodkow na zakup odpowiednich serwerow i tyle. platne chociazby mssql daja ci przede wszystkim kilka mozliwosci bakupu, chodz i one nie sa pozbawione wad.

stwierdzenie przelozonych "szybko i tanio" moze kiedys wkoncu trafi do lamusa

Napisany przez: no-name 28.12.2005, 08:06:06

MySQL 5.0 wyszedł... Co zmienia oblicze tej dyskusji smile.gif

Napisany przez: SongoQ 28.12.2005, 10:06:36

Cytat
MySQL 5.0 wyszedł... Co zmienia oblicze tej dyskusji

Czy az tak bardzo zmienia. Dodali zaledwie 3 opcje, zadna mi rewolucja i tak zanim wszyscy się przesiada na ta wersje minie rok moze nawet 2.

Napisany przez: sopel 28.12.2005, 10:31:00

Cytat(SongoQ @ 2005-12-28 10:06:36)
Cytat
MySQL 5.0 wyszedł... Co zmienia oblicze tej dyskusji

Czy az tak bardzo zmienia. Dodali zaledwie 3 opcje, zadna mi rewolucja

wedlug mnie zmienia, w koncu zazwyczaj jedne z podstawowych wad jakie sie wymienialo w mysql to brak widokow czy triggerow

Cytat
i tak zanim wszyscy się przesiada na ta wersje minie rok moze nawet 2.


ale nie o tym dysksuja kto kiedy sie przesiadzie chyba, no nie? to ze ludzie masowo nie przechodza na postgresql nie odstrasza cie od tej bazy?

Napisany przez: SongoQ 28.12.2005, 11:09:44

Cytat
to ze ludzie masowo nie przechodza na postgresql nie odstrasza cie od tej bazy?

He he no jasne i dlatego tak bardzo lubie PG.

Odnosnie tych vidokow i triggerow masz racje smile.gif

Napisany przez: sf 28.12.2005, 11:21:31

Cytat(sopel @ 2005-12-28 10:31:00)
ale nie o tym dysksuja kto kiedy sie przesiadzie chyba, no nie? to ze ludzie masowo nie przechodza na postgresql nie odstrasza cie od tej bazy?

A po co maja przechodzic? Ci ktorzy znaja zalety postgresa od dawna go uzywaja. Natomiast ludzie, ktorzy nie wiedza co to trigger, nie uzywaja widokow to po co maja przesiasc sie na potgresa? Niech zostana przy mysql bo i tak nie uzywaja dorbrodziejstw niektorych baz danych. Wystarcza im proste zapytania do bazy.

Napisany przez: NaturalDisaster 7.04.2006, 11:22:03

Wiem ze temacik jest PostgerSQL vs MySQL ale ja chciałbym się czegoś dowiedzieć o Firebird (i nie mówie tu o przeglądarce tongue.gif).

Ostatnio szukałem zawzięcie różnic między RDBMS tyou OpenSource i natrafiłem na baze Firebird o której wcześniej nie miałem zielonego pojęcia. Z tego co udało mi się wyszukać to także ma możliwość obsługi wbudowanych procedur, triggerów czy transakcji i jest całkowicie darmowy.
Nie wiem tylko jak to się wszystko ma w praniu. Czy ktoś miał coś do czynienia z tą bazą i jak się ona ma w porównaniu z MySQL czy PostgreSQL?

Napisany przez: ferr 15.04.2006, 20:50:11

Ostatnio zainteresowalem sie szerzej innymi niz MySQL bazami danych. Przeczytalem tez caly ten topic i mam pytanie, mianowicie: potrafilibyscie podac jakies praktyczne przyklady tego, co daja chocby wymienione przez Was "procedury skladowe"? Na czym to polega etc. Gdyby bylo to mozliwe najlepiej na przykladzie zwyklego zapytania obslugujacego listing artykulow..

Napisany przez: SongoQ 22.04.2006, 22:24:15

@ferr Procedura skladowa - co to np piszesz w php mozesz przeniesc na bazke. Najprostrzym przykladem jest dodawanie rekordu.

Np. chcesz dodawac panstwa do bazy danych, w php musisz sprawdzac czy istnieje i ewentualnie zwrocic jego id lub dodac nowe, a tak za pomoca funkcji to wszystko zalatwiasz. Wtedy masz jeden select odwolujacy sie do funkcji ktory zwraca Ci id panstwa. W funkcji masz sprawdzanie czy juz istnieje i dodanie.

Mozesz uzywac do wyliczania roznych wartosci, konwersji itd.

Napisany przez: sopel 22.04.2006, 22:28:46

Cytat(SongoQ @ 2006-04-22 22:24:15)
@ferr Procedura skladowa - co to np piszesz w php mozesz przeniesc na bazke. (...) Np. chcesz dodawac panstwa do bazy danych (...) Mozesz uzywac do wyliczania roznych wartosci, konwersji itd.

jednym słowem przerzucamy trochę logiki na bazę danych odciążając php.

Napisany przez: ferr 23.04.2006, 12:13:47

Yhm, dzieki..

Napisany przez: NetJaro 2.11.2006, 18:52:30

Witajcie smile.gif

Co na dzień dzisiejszy polecacie pod kątem wydajności? Mozliwości i tak całych nie wykorzysta się, więc stawiam głownie na wydajność. A więc.. na teraźniejszość co lepiej wybrać pod tym kątem?

Napisany przez: cadavre 10.12.2006, 21:33:19

Jakie są różnice składniowe pomiędzy PostgreSQL a MySQL?
Słyszałem, że w PSQL nie można stosować "`" do nazw tabel i jest jakaś różnica z auto_increment. Jakie są różnice w syntax'ie? A bezpieczeństwo?

Napisany przez: Sedziwoj 11.12.2006, 01:50:27

To chyba nie do końca ten wątek...
Co do ` to prawda nie można ich stosować do nazw tabel ale możesz ", a zamiast auto_increment to stosujesz typ serial (dokładnie to jest tylko obudowa, bo możesz ręcznie skonstruować odpowiednią sekwencje)
Tu raczej nie ma różnic, tylko inny zapis.

Napisany przez: kufalo 28.01.2007, 12:45:40

Brak wsparcia dla sortowania przez PostgreSQL pod systemem Windows w innej stronie kodowej niz Windows-1250 całkowicie robi tę baze bezuzyteczną.

Napisany przez: Zbłąkany 29.01.2007, 09:57:40

Litości winksmiley.jpg miałem PostgreSQL 8.1.x pod windows xp i używałem utf-8 i jakoś nie widziałem, aby miał problem z sortowaniem winksmiley.jpg Stąd logiczny wniosek gadasz głupoty tongue.gif

Napisany przez: kufalo 29.01.2007, 10:02:53

Cytat(Zbłąkany)
Litości winksmiley.jpg miałem PostgreSQL 8.1.x pod windows xp i używałem utf-8 i jakoś nie widziałem, aby miał problem z sortowaniem winksmiley.jpg Stąd logiczny wniosek gadasz głupoty tongue.gif


Znalazlem pod adresem:
http://confluence.atlassian.com/display/DOC/Configuring+Database+Character+Encoding
ze:
Cytat
Please note that international characters sets are only fully supported and functional when using PostgreSQL 8.1 and above under Microsoft Windows.


Problemy z tym byly, a bez sortowania ani rusz......
Ale skoro juz to tragiczne niedopatrzenie zostalo naprawione, to chyba ponownie przesiade sie na PostgreSQL.
Chociaz i tak nadal odnosze wrazenie, ze uzywajac tej bazy pod winda mozna sie przejechac...

Cytat(SongoQ)
Warto poswiecić chwilkę na postgresa a konkretnie na plPHP.

A jak to zainstalowac na win, czy moze to juz jest w standardzie przy instalacji postgresql pod winda questionmark.gif

Napisany przez: DeadMan 9.02.2007, 14:29:55

mam pytanie jak zaimportowac plik.txt do tabeli test w ktorej sa 4 kolumny,z lini komend. Chce zeby plik.txt wypelnil puste pola w tych 4 kolumnach. Prosze o pomoc

Napisany przez: SongoQ 9.02.2007, 14:42:22

napisz sobie jakis skrypcik ktory wrzuci jestli to jest sql to zaimportuj. Odnosnie PG i MySQLa konkretnie funkcji skladowych do nadal postres wygrywa ale podejrzewam ze jeszcze z 2lata i ta roznica bedzie w 2 strone, jesli tylko w MySQLu zostanie jezyk proceduralny.

Napisany przez: DeadMan 9.02.2007, 14:49:26

skrypt to ja mam tylko nie wiem jakie polecenie wpisac w PG.
W SQL to by bylo tak -> LOAD DATA LOCAL INFILE "C:/wycieczki.txt" INTO TABLE
wycieczki LINES TERMINATED BY '\r\n' (kraj, ilosc_dni, nazwa_wycieczki, opis_wycieczki);

w PG to nie dziala probowalem zmieniac ale cos mi niewychodzi help me smile.gif

Napisany przez: maly_szcz 4.05.2007, 14:57:54

Witam.
Wątek ma już trochę i dlatego chciałbym spytać, czy ktoś z Was próbował porównywać obecne wersje PostgreSQL i MySQL?


Pozdrawiam.

Napisany przez: SongoQ 5.05.2007, 08:40:14

MySQL szybko sie rozwija i jestem pewny ze rok moze 2 i w mozliwosciach bedzie lepszy od PG. Narazie najwiekszym minusen jest jezyk proceduralny gdzie w Postgresie wiadomo ze jest kilka: plpgsql, java, c, php, ruby, python. Wydaje mi sie ze jesli takie tempo rozmwoju utrzymaja jakie jest teraz moga w malym stopniu podwazyc wartosc ORACLE czy MSSQLa

Napisany przez: Ania-678 17.07.2007, 23:08:31

ym... a MySQL w wersji 5 obsługuje transakcje na blokowanie samych wierszy tak jak postgre? Bo jakoś pewnych informacji w necie nie bardzo można się doszukać...

Napisany przez: Jarod 18.07.2007, 10:49:59

Cytat(SongoQ @ 5.05.2007, 07:40:14 ) *
MySQL szybko sie rozwija i jestem pewny ze rok moze 2 i w mozliwosciach bedzie lepszy od PG.


Masz jakieś konkretne uzasadnienie czy to tylko Twoje przypuszczenia? Bo obecnie wszyscy mówią, że MySQL nie umywa się do PostgreSQLa..

Napisany przez: kwiateusz 18.07.2007, 16:09:05

dogania go, doczekaliśmy się triggerów w wersji 5, zadan wykonywanych co jakis czas.. co nie zmienia faktu ze późno to dodają, a zanim hostingi zrobią migracje na 5 to miną wieki...

Napisany przez: SongoQ 18.07.2007, 17:53:58

Cytat
Masz jakieś konkretne uzasadnienie czy to tylko Twoje przypuszczenia? Bo obecnie wszyscy mówią, że MySQL nie umywa się do PostgreSQLa..

Z tym sie zgodze ze sie nie umywa. Proste porownianie jesli korzystasz z PG tylko i wylacznie uzywajac SQL to o wiele lepszy jest MySQL ale gdzie juz zaczyna sie cos bardziej pogmatwanego gdzie jest wymagane uzycie jezyka proceduralnego w bazie danych to PG niestety ale MySQL bije jak tylko moze z jakiego powodu? Z takiego ze MySQL nie posiada zadnej implementacji jezyka proceduralnego. Obecnie co mozemy spotkac to SQL w procedurach i funkcjach.

Kiedys juz pisalem jaka baza jest najlpesza. Oczywiscie najlepsza jest taka jakie sa wymagania projektu a jakie sa wymagania projektu to juz jest bardziej skomplikowane. Jesli porownujac funkcjonalnosci to oczywiscie ze najlepsza jest ORACLE ale co z tego jak wiekszosc firm, bardzo duzych firma nie tylko w Polsce nie wykorzysta nawet 50% mozliwosci tej bazy.

@Jarod W obecnej pracy siedze tylko i wylacznie w plpgsql czyli Postgres, no i dla takiej rangi projektu MySQL by sobie nie poradzil, wile rzeczy sie dzieje automatycznie po stronie bazy danych (baz danych) nawet mozna powiedziec ze PG jest molo wystarczalny.

Napisany przez: Jarod 18.07.2007, 19:26:19

Cytat(SongoQ @ 18.07.2007, 16:53:58 ) *
(...)Proste porownianie jesli korzystasz z PG tylko i wylacznie uzywajac SQL to o wiele lepszy jest MySQL(...)

Dlaczego tak uważasz?

Cytat(SongoQ @ 18.07.2007, 16:53:58 ) *
(...)ze najlepsza jest ORACLE(...)

Oracle ale do naprawde bardzo dużych baz. Jakiś czas temu natknąłem się na testy wydajności Oracle vs MSSQL. Ten pierwszy był wydajniejszy dopiero przy bardzo dużych bazach. Przy mniejszych MSSQL prowadził.

Cytat(SongoQ @ 18.07.2007, 16:53:58 ) *
@[b]Jarod [/b(...)MySQL by sobie nie poradzil, wile rzeczy sie dzieje automatycznie po stronie bazy danych (baz danych) nawet mozna powiedziec ze PG jest molo wystarczalny.

Podaj jakieś przykłady jakiego typu rzeczy wykonywane są z automatów. Nigdy nie miałem przyjemności pracować przy budowie tego typu (b. dużych) baz. Jestem po prostu ciekawy.

pozdrawiam

Napisany przez: SongoQ 18.07.2007, 21:08:49

Cytat
Dlaczego tak uważasz?

Prostota chyba najbardziej za tym przemawia i popularnosc. Poszukaj sobie testow dla malutkich baz zobaczysz jakie sa rezultaty.

Cytat
Oracle ale do naprawde bardzo dużych baz. Jakiś czas temu natknąłem się na testy wydajności Oracle vs MSSQL. Ten pierwszy był wydajniejszy dopiero przy bardzo dużych bazach. Przy mniejszych MSSQL prowadził.

Z tym to bym sie akurat nie zgodzil. Na Oracle mialem okazje pracowac przez ponad 3 lata uwierz mi ze jesli masz wszystko tak jak trzeba skonfigurowane to jest naprawde szybki. Co do testow to spotkalem sie z zypelnie przeciwnymi.

Cytat
Podaj jakieś przykłady jakiego typu rzeczy wykonywane są z automatów. Nigdy nie miałem przyjemności pracować przy budowie tego typu (b. dużych) baz. Jestem po prostu ciekawy.


Np cos takie jak dodanie do 1 tabeli powoduje mase operacji w innych tabelach, podobnie jak usuwanie i update. Albo inny przyklad monitorowanie zmian rekordow nie wazne czy to robisz przez aplikacje czy recznie masz kazda malusinka zmiane. Takich przykladow moze byc setki, ktore sie dzieja w bazie. Albo dodajesz do 1 baza a automatycznie dane sa replikowane w innych bazach niekoniecznie PG (trafiaja do MSSQL czy ORACLE)

Jesli nie znasz takich rzeczy to radze zakupic pare dobrych ksiazek przeczytac to da troche jasniejszy poglad na mechanizmy baz danych. Obecnie baza danych to nie tylko operacje SQL to rowniez wykorzystanie masy narzedzi jakie oferuje i wile rzeczy napisanych w procedurach skladowanych.

Napisany przez: Jarod 5.09.2007, 21:58:35

@SongoQ: A jak oceniasz triggery i procedury składowane w mysqlu? W manualu mysqla bardzo skromnie napisali o triggerach.

Napisany przez: Piniek 30.12.2007, 01:47:21

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 http://pl.wikibooks.org/wiki/Bazy_danych
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 winksmiley.jpg

Napisany przez: northwest 8.07.2008, 22:32:54

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)questionmark.gif

Napisany przez: Sedziwoj 9.07.2008, 11:37:05

@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?

Napisany przez: northwest 9.07.2008, 11:40:07

to jest przypuszczalny - po prostu w pewnym momencie rekordy starsze będą usuwane...

Napisany przez: nevt 9.07.2008, 12:52:35

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 questionmark.gif

Myślę, że zapewni sobie niemierną wdzięczność setek użytkowników - pomógł gwarantowane smile.gif

PS. Chodzi o coś więcej niż pokazał kolega Piniek - tyle to sobie w wiki znalazłem...

Pozdrawiam wszystkich forumowiczów.

Napisany przez: phpion 11.07.2008, 06:24:36

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:

  1. ... AFTER INSERT OR UPDATE OR DELETE ...

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_OR_UPDATE_OR_DELETE_t96283.html

Napisany przez: jezoo 13.10.2008, 20:41:46

na te stronie: http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL sa opisane roznice oraz... ankieta i jak narazie PostgreSQL KROLUJE tongue.gif

mysql: 34% (1119)
PostgreSQL: 66% (2191)

Od siebie smile.gif

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 winksmiley.jpg ) 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 smile.gif

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 smile.gif

Napisany przez: phpion 18.05.2009, 19:49:56

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 smile.gif

Ot taka ciekawostka.

Napisany przez: nieraczek 21.05.2009, 07:13:43

A ciekawe czy MySQL wkrótce nie zakończy istnienia jak Oracle go przejął....

Napisany przez: nospor 21.05.2009, 07:18:58

@phpion

Cytat
Na polu komentarz.id_uzytkownika został założony indeks

A klucz obcy byl tez czy nie?
Mozesz pokazac to zapytanie?

Napisany przez: phpion 21.05.2009, 08:59:51

Cytat(nospor @ 21.05.2009, 08:18:58 ) *
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.

Cytat(nospor @ 21.05.2009, 08:18:58 ) *
Mozesz pokazac to zapytanie?

Jasne, ogólnie cały test wyglądał tak:
  1. <?php
  2. http://www.php.net/set_time_limit(300);
  3.  
  4. require_once 'Benchmark/Timer.php';
  5.  
  6. //$db = new PDO('mysql:dbname=test_baz_danych_myisam', 'root', '');
  7. //$db = new PDO('mysql:dbname=test_baz_danych_innodb', 'root', '');
  8. $db = new PDO('pgsql:dbname=test_baz_danych', 'postgres', 'postgres');
  9.  
  10. $timer = new Benchmark_Timer(true);
  11.  
  12.  
  13. for ($i=0; $i<10; $i++) {
  14.    $db->query('SELECT COUNT(*) FROM comment'); // zwraca liczbę 1000000
  15. }
  16.  
  17. $timer->setMarker('COUNT');
  18.  
  19. for ($i=0; $i<10; $i++) {
  20.    $db->query('SELECT * FROM comment JOIN user ON comment.user_id=user.id WHERE comment.user_id=1'); // 13 rekordów
  21. }
  22.  
  23. $timer->setMarker('JOIN');
  24.  
  25. $timer->display();
  26. ?>

Napisany przez: nospor 21.05.2009, 09:08:03

a jak czasowo bedzie to wygladac dla takiego zapytania:

  1. <?php
  2. $db->query('SELECT * FROM user left join comment ON comment.user_id=user.id WHERE user.id=1');
  3. ?>

?

ps: zakladam ze ID to klucze glowne i mają indexy?

Napisany przez: phpion 21.05.2009, 09:22:53

Z tego co się orientuję to dla kluczy głównym nie ma potrzeby zakładania indeksów winksmiley.jpg Swoje zapytanie specjalnie napisałem z użyciem zwykłego indeksu, a nie klucza głównego - żeby było trudniej smile.gif 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

Napisany przez: nospor 21.05.2009, 09:27:24

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.

Napisany przez: phpion 21.05.2009, 09:36:51

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 - wina PDO? Zmiana na mysql_connect + mysql_select_db + mysql_query nie przyniosła żadnej poprawy.

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)?

Napisany przez: nospor 21.05.2009, 09:44:34

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 winksmiley.jpg

Napisany przez: bełdzio 21.05.2009, 17:45:12

Cytat(nieraczek @ 21.05.2009, 08:13:43 ) *
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 smile.gif

Napisany przez: batman 21.05.2009, 18:09:16

Cytat(nieraczek @ 21.05.2009, 08:13:43 ) *
A ciekawe czy MySQL wkrótce nie zakończy istnienia jak Oracle go przejął....

Cytat(bełdzio @ 21.05.2009, 18:45:12 ) *
Twórca mySQL aktualnie tworzy zastępce dla mySQL, tak więc nawet jak zniknie to na jego miejsce wskoczy nowy produkt smile.gif

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." winksmiley.jpg

Napisany przez: phpion 10.12.2009, 12:02:52

W sieci pojawiło się świeże porównanie MySQL oraz PostgreSQL:
http://blog.taragana.com/index.php/archive/postgresql-vs-mysql-comparative-review/

Napisany przez: Gribo 8.01.2010, 02:38:46

pisząc prace inżynierską mająca za zadanie porównać wydajność bibliotek ORM w środowisku JAVA z ciekawości testy takie jak :
wielokrotne joiny,delete,insert na tabeli z wszystkimi możliwymi relacjami Wyniki wskazywały jednoznacznie że MySql w wersji 5.0.45 jest szybszy pod każdym względem od postgresql 8.4. Wyjątek stanowiły test pobierania rekordów z wielokrotnym joinem

Napisany przez: ucho 8.01.2010, 12:40:22

Taki benchmark http://www.randombugs.com/linux/mysql-postgresql-benchmarks.html do mnie jakoś lepiej przemawia tongue.gif Choć faktycznie przewagę ma już tylko w środowiskach wieloprocesorowych http://tweakers.net/reviews/649/7/database-test-sun-ultrasparc-t1-vs-amd-opteron-pagina-7.html

Napisany przez: XianN 9.03.2010, 03:13:09

@Gribo: Moglbys wrzucic bardziej szczegolowe wyniki oraz metode pomiaru? Byloby super.

Pozdrawiam,
XianN

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)