DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   SQL baze podataka - Sponzor: Baze-Podataka.net (http://www.devprotalk.com/forumdisplay.php?f=10)
-   -   Prednosti i mane pojedinih RDBMS-ova (http://www.devprotalk.com/showthread.php?t=501)

kodi 07. 01. 2006. 23:28

[edit by dinke]Ova tema je nastala kao epilog jedne duge rasprave na php forumu.[/edit]

ja sam takodje omao neka iskustva u projekovanju intranet aplikacija...

php je sasvim zadovoljavajuce resenje...

samo moja preporuka je PostgreSQL... (ako je u pitanju baza koja trpi veliko opterecenje)

ivanhoe 08. 01. 2006. 17:26

Citat:

Originalno napisao kodi
samo moja preporuka je PostgreSQL... (ako je u pitanju baza koja trpi veliko opterecenje)


zapravo, mysql je brzi od postgres-a (i vecine komercijalnih baza uzgred), za web model pristupa podacima, gde imas puno select-a, a relativno malo izmena..

postgres je ozbljnija baza u smislu da je maximalno inspirisana Oraclom i da od samog pocetka ima transakcije, referencijalni integritet, triggere, storovane procedure i slicno, a mysql je to tek nedavno dobio... tako da bi preporuka za postgresql bila vise u smislu robustnosti i proverenog kvaliteta, nego perfomansi....

dinke 08. 01. 2006. 17:47

Citat:

Originalno napisao ivanhoe
postgres je ozbljnija baza u smislu da je maximalno inspirisana Oraclom i da od samog pocetka ima transakcije, referencijalni integritet, triggere, storovane procedure i slicno, a mysql je to tek nedavno dobio... tako da bi preporuka za postgresql bila vise u smislu robustnosti i proverenog kvaliteta, nego perfomansi....

MySQL (innodb i bdb tabele) ima Referencijalni Integritet od verzije 3.23.44. Slično važi i za transakcije (3.23 max odnosno od 4.0.x). Dakle, nedavno (u verziji 5.0.x) je dobio samo triggere i stored procedure, ovo ostalo ima već duže vremena.

Ilija Studen 08. 01. 2006. 18:24

PostgreSQL je stvarno kompletno rešenje, ali su mogućnosti koje MySQL pruža uglavnom dovoljne za web razvoj. Možda naveća prednost MySQLa u odnosu na PostgreSQL je rasprostranjenost (retki su hostovi koji nemaju LAMP paket). Po meni, najveća glupost koju je MySQL AB dozvolio je šareniš koji je nastao usled četiri aktivne verzije: 3.23.x, 4.0.x, 4.1.x i sad 5.x. Pošto se mogućnosti ovih baza često znatno razlikuju teško je biti pametan :)

Dobar persistance layer (npr Propel) i tweakovanje dobijenog DDLa tako da izvučeš maksimum iz baze koju aplikacija stvarno koristi je sasvim zadovoljavajuće rešenje za većinu problema sa kojima ćeš se sresti na webu. Ima izuzetaka, ali ako ti je bitnija brzina razvoja od brzine izvršavanja onda je ovo prava kombinacija.

PS: Split dok još uvek znamo gde smo skrenuli u offtopic :D

ivanhoe 09. 01. 2006. 11:55

Citat:

Originalno napisao dinke
MySQL (innodb i bdb tabele) ima Referencijalni Integritet od verzije 3.23.44. Slično važi i za transakcije (3.23 max odnosno od 4.0.x). Dakle, nedavno (u verziji 5.0.x) je dobio samo triggere i stored procedure, ovo ostalo ima već duže vremena.


Ok, nisam mislio nedavno kao u poslednjoj verziji, nego nedavno kao u zadnjih par godina :D

Jos uvek mozes cesto da cujes i procitas komentare ljudi koji ne znaju za ove mogucnosti InnoDB, a rade sa mysql svaki dan, tako da, u tom smislu, te tehnologije su jos mlade...vecina programera ih jos uvek ne koristi mnogo,
mada postoji izvesno opravdanje za to jer innoDB ima nesto slabije perfomanse od myisam, ako se dobro secam..

dinke 09. 01. 2006. 12:03

Citat:

Originalno napisao ivanhoe
Ok, nisam mislio nedavno kao u poslednjoj verziji, nego nedavno kao u zadnjih par godina :D

MySQL podržava transakcije od verzije 3.23.15 - iliti od 9. Maja 2000. godine! Dakle, više od 5 godina.

Citat:

Originalno napisao ivanhoe
Jos uvek mozes cesto da cujes i procitas komentare ljudi koji ne znaju za ove mogucnosti InnoDB, a rade sa mysql svaki dan, tako da, u tom smislu, te tehnologije su jos mlade...vecina programera ih jos uvek ne koristi mnogo,
mada postoji izvesno opravdanje za to jer innoDB ima nesto slabije perfomanse od myisam, ako se dobro secam..

To je nažalost tačno. Zbog toga sam i najavio na svom blogu seriju članaka o mogućnostima MySQL-a koje developeri retko (ili nikada) koriste. Stay tuned :)

bojan_bozovic 09. 01. 2006. 21:18

Iskreno, meni je zasmetalo to sto nemam BEGIN/ROLLBACK ili slicno u MySQL. Vredi to, i na webu. Imam samo malo iskustva sa MySQL, i ostale baze ne mogu komentarisati. Kad se izgubi konekcija sa bazom (db server pao) cudne stvari se desavaju, ukljucujuci i vise od jednog INSERT ili UPDATE upita na bazi, a to je golem problem. Opet, ja sam jos na 3.23, a s obzirom da sam ne mogu znati kada ce server online, pitanje je hoce li i moze li i to da mi pomogne. Server je 3.23.56-log ali je moj problem sto nije po defaultu pravio InnoDB tabele, i sad prakticno nista ne mogu.

dinke 09. 01. 2006. 21:27

Boki, problem je što MySQL IMA begin/rollback koji ti pominješ.

Kôd:

start transaction;
insert into foo value ('foo1');
insert into foo value ('foo2');
commit;

start transaction;
insert into foo value ('foo3');
insert into foo value ('foo2');
;duplicate key error occured
rollback;

Ovo radi sa Innodb i BDB tabelama!

bojan_bozovic 09. 01. 2006. 21:33

Isprobacu transakcije, pa cu videti hoce li mi koristiti. Morao sam bas da vidim koju verziju baze imam (ovde u lokalu imam 5+ ali na serveru sta imam imam 3.23.56-log). Hvala! :)

ivanhoe 10. 01. 2006. 02:59

Citat:

Originalno napisao bluesman
Vidim da mnogi pričaju o mnogim stvarima i prosto ne mogu da ne zapitam: koliko su STVARNO koristili bilo šta od toga. Priča se o mysql, o transakcijama, o postgreeSQL koji je proklamovan kao "najkompletnije rešenje" a nisam siguran da je bilo ko STVANO i napravio neku komercijalnu aplikaciju (znači ne ono kao "zezanje kod kuće") i koristio ta "kompletna rešenja" pa da može tako nešto da tvrdi. Tvrdim da 99,99% ljudi, ne samo ovde nego na čitavom web-u, koristi samo osnovne stvari, a "extra features" su ostali samo... tema za razgovor, ili što bi Srbi rekli: "kurčenje".


Ja sam sa postgresom radio 2001 par aplikacija za jednog britanskog provajdera (administracija korisnika, obracunavanje vremena, placanje i sl.), izbor baze je bio na njihov zahtev, prelazak sa postojece perl + mysql platforme na php + postgres....i priznajem koristio sam triggere i storovane procedure i transakcije cisto zato sto postoje, nije da sam morao, ali s druge strane su mi odlicno odradile posao i verovatno ustedeli malko vremena, a i kad vec postoje sto da ih ne koristim...Tako da da, postgres jeste veoma kompletna i dobra baza. I znatno laksa za instalaciju i upotrebu od Oracla, sa kojim treba da budes voodoo vrach da bi izasao na kraj, cenu da ne pominjemo...

Inace Dinke je spomenuo da i mysql ima slicne mogucnosti od 2000, ali moram priznati da sam ja za to saznao tek pre mozda 2 godine (/me stupid :rolleyes: ), ali jos nisam nikad koristio innoDB komercijalno, jer mi nije trebalo nikad, bas kao sto i kazes web development obicno moze i bez toga...

ali opet ne kapiram sta nalazis da je problem oko promovisanja naprednijih tehnika? Zasto smatras to kurcenjem?
To je kao da programiras u php-u i koristis foreach, a ne znas kako radi for ili while, samo zato sto ti uglavnom ne treba.
Mnogo je lakse i sigurnije uraditi begin i onda eventualno rollback, nego lockovati rucno tabele i proveravati sve i svasta...ili recimo kad brises usera, na primer, zasto bi isao od tabele do tabele i brisao njegove podatke, kad preko referencijalnog integriteta i triggera mozes to da zavrsis jednom komandom. Uostalom ne ugradjuju se te funkcije u baze zato sto je proizvodjacima dosadno, nego zbog zahteva korisnika...


Vreme je GMT +2. Trenutno vreme je 13:39.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.