Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PostgreSQL vs MySQL
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
Stron: 1, 2, 3
anas
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
DavidPL
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
kszychu
Cytat(DavidPL @ 2004-10-29 11:01:53)
MySQL jest płatny,

ohmy.gif Chryste! od kiedy??
SongoQ
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.
kszychu
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 ;-)
bela
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
anas
Cytat(zalew @ 2004-10-29 11:56:11)

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.
DavidPL
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
zalew
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..
kszychu
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/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...
SongoQ
@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.
DavidPL
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
SongoQ
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.
anas
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
SongoQ
@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.
revyag
Niektórzy mogą tego nie uznać za minus, ale dla mnie tak jest, chodzi o instalacje postgresa na windzie, ojjj smile.gif
SongoQ
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.
zalew
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
bela
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
DavidPL
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?
zalew
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
bela
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
SongoQ
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.
anas
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/...FN?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
zalew
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..
itsme
M$ dla studentow bedzie za darmo ....
tak wiec rodzi sie nowa walka pomiedzy posgresem a wyromabi M$
dag
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?
bela
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
anas
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
Kamis
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.
Krolik
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
SongoQ
@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.
popbart
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)
SongoQ
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".
Ociu
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
SongoQ
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.
Ociu
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
SongoQ
Mysle ze sa inne firmy, ktore w swoich ofertach maja PostgreSQLa i oczywiście za mniejsza cene.
popbart
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 ?
dvc
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)
SongoQ
@dvc

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


A tak nie jest?
cfk
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:)
dvc
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.
MStaniszczak
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ą...
SongoQ
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
Ccn
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)
mike
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.
Ozzy
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).
SongoQ
@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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.