[LUGOS-PROG] MySQL vs. Postgresql

Aleksander Kmetec aleksander.kmetec at email.si
Sun Nov 9 10:34:51 CET 2003


Damir Dezeljin wrote:
> Pri izbiri podatkovne baze bi najprej raziskal funkcionalnost, ki jo bom
> rabil in seveda kdaj jo bom rabil (npr. ce bom rabil subquery-e v
> produkcijske namene cez >=6 mesecev, lahko pri odlocitvi zajames v ozji
> krog tudi MySQL; enako velja za Stored procedures in views,...).

Seveda lahko na poglede, polno podporo subquerijev in stored procedures
čakaš eno ali več naslednih verzij MySQL-a.

Ampak, ali se ti zdi razumno čakati, da te funkcije pridejo v MySQL &
takrat narediti upgrade, če pa obstaja PostgreSQL, ki ima vse to že sedaj?
Pravzaprav se mi zdi, da jih ima prek 5 let, kar pomeni, da imajo za sabo
že tudi temeljito testiranje.

Če potrebuješ katero od funkcij, ki jo podpira samo mysql, potem vsekakor
izbereš mysql. Če pa potrebuješ funkcije, ki jih zaenkrat samo še
obljubljajo, ali so v zelo zgodnjih verzijah, pa se mi taka odločitev zdi
čisto rahlo nepremišljena. :)

> Pri MySQL-u backup zelo enostavno implementiras
> (flushnes baze na disk, naredis read lock ter za tem snapshot mysql
> particije(particij) in releasnes lock). Pri PostgreSQL se stvar ze malo
> zakomplicira a ne dosti. 

S tem misliš kopiranje dejanskih fajlov, kot so na disku? Ta način
uporablja mysqlhotcopy, pri katerem lepo piše, da je kompatibilen samo z
MyISAM tabelami. Kaj se zgodi, če imaš zraven še InnoDB? Je potrebna
zaustavitev?

Glede na manual ti ostane samo mysqldump, ki ima zopet svoje omejitve. Ali
zakleneš vse tabele za čas dumpanja, pri čemer ostale operacije čakajo, ali
pa se sprijazniš z inconsistent dump-om. Če imaš to srečo, da so vse tabele
  tipa InnoDB, lahko narediš consistent dump v eni transakciji, brez
zaklepanja.

Torej je backup v mysql res enostaven, ampak samo pod določenimi pogoji.

Pri Postgres-u ti pg_dump v vsakem primeru in brez zaklepanja naredi
consistent dump, saj so vse tabele transakcijske. Če delaš direktni backup
datotek, je potrebna zaustavitev DB strežnika.

> Pri MySQL-u lahko zelo enostavno nastavis replikacijo. 

Evo, tukaj pa priznam, da Postgres kar resno šepa. :)

Od treh rešitev za replikacijo sta 2 zastareli; tretja, pred kratkim
open-sourcana, pa je zaenkrat še v takem stanju, da je raje še niti ne bodo
vključili v prihajajoči 7.4 release. :(

> Pred cca. pol leta je MySQL sklenil partnersko pogodbo z SAP. To bo zelo
> pospesilo razvoj dolocenih funkcionalnosti, kakor tudi pripomoglo k
> stabilnosti in odpornosti njihovega produkta!!!

V to pa deluješ zelo prepričan. :) Na kak način pa sodelujejo?
Nekje sem bral, da načrtujejo združitev source-ov, ampak tak poseg zna
trajat in trajat. Če se v mysql naenkrat pojavi kup novih funkcij, me bo
težko prepričat, da je kaj drugega kot drty hack job, da bi marketinški
oddelek lahko pisal o čem novem.

Uff, danes sem se grozno razpisal. Potrebujem pavzo. :)

LP,
Aleksander












More information about the lugos-prog mailing list