Re: [LUGOS] DNS in WEB Stre¾niki (na splosno o SQL streznikih)

Branko F. Gracnar bfg at noviforum.si
Mon Aug 11 05:22:01 CEST 2003


> gre za web aplikacijo v php-ju, je na
> http://phpbuilder.com/columns/tanoviceanu20000912.php3 lepo opisano kako to
> resiti v php-ju.

Hmja...

Zgoraj opisana resitev je precej elegantna, ce uporabjas nativne php rdbms funkcije za dostop do sql baze, drugace si pa mrzel...

Dosti ljudi uporablja pri programiranju php aplikacij abstrakcijo dostopa do podatkovne baze, tako da ni problemov, ko je treba zadevo prestavit na drugo bazo.

Jaz se bodem s ADOdb-jem in danes sem se enkrat preletel dokumentacijo, pa tega ne morem implementirati v svojih skriptah na tako preprost nacin, kot se na prvi pogled zdi. Da ne govorim o fensi smelsi PEAR-DB-ju. Verjetno bo na racunalniku teklo tudi nekaj aplikacij, ki so bile pisane s temi knjiznjicami (primer: horde, phpnuke, postnuke...), ki bi jih bilo treba poflikati, da bi delovale na ta nacin. Potemtakem bi bilo bolj smiselno poflikati kar te DB abstraction knjiznjice... In kdo jamci, da bodo te poflike maintainerji teh knjiznic vkljucili v glavno drevo? ... Kaj bo, ko se najde kak bug, treba bo upgradati sistem, z novo verzijo pa bo treba flikati tudi iste zadeve, ki smo jih flikali ze v prejsnji verziji.... in tako dalje.

Problem pri zgornji resitvi bi ze bil, ce se za dostop do baze uporablja unix domain socket. Recimo, mysql ob nastavitvi hostname = 'localhost' uporabi unix domain socket. Tako bi lahko teoreticno prisli v situacijo, ko bi se skript priklopil na drug DB streznik zato, ker tcp port ne bi bil dosegljiv, bil bi pa se vedno dosegljiv unix domain socket.

Da tecnarim naprej...
Kaj na tem mestu narediti z ODBC povezavami (treba je navest dsn, ki ni nujno, da sploh vsebuje hostname)...

In se:

Baza A crkne, Baza B dela. Web aplikacija zdaj popravlja zapise na bazi B. Vmes se baza A postavi nazaj. Zdaj web aplikacija popravlja bazo A. Prislo je do ene izmed bolj grozljivih situacij: nekonsistence podatkov. Kako bomo vedeli, kateri podatki na bazi A so verodostojni in kateri niso?

... Skratka...
+ ce baza ne podpira multimaster replikacije (ala oracle 9i, postgres -7.4/5) in potrebujemo updatanje baze, se ne splaca delati nekih multimaster replikacijskih resitev na bazi razlicnem nivoju. Podatki so predragoceni ...

+ ce rabimo samo branje baze in nimamo multimaster replikacije, potem je resitev, kot je spisana na zgoraj omenjeni strani smiselna. Smiselna bi mogoce bila vpeljava round robin dnsa za ta sql streznik.

lp, Brane



More information about the lugos-list mailing list