OT poptavka programator ci firma

Slavomir Skopalik skopalik@elektlabs.cz
Středa Leden 19 01:16:36 CET 2005


Existuji dve architektury (zjednodusene).
Klasicka a multigeneracni.
Klasicka drzi v tabulce pouze jednu platnou verzi daneho radku
a vse se resi pres rollback segment (terminologie oracle).
Multigeneracni (MGA) drzi tolik verzi, kolik je treba.
Kazda se hodi na jine ucely, bohuzel taky kazda VYZADUJE jiny
pristup na aplikacni urovni.
MGA je mene nachylna na kolize (nemuze dojit na kolizi cteni a zapisu),
jedinna kolize muze nastat pri soubeznem zapisu.
Tohoto lze u MGA "vyuzit" k vytvoreni zamku pomoci FAKE UPDATE
(update bez jakekoliv zmeny).
Jinym resenim je verzovani zaznamu (jako sloupec), takto jsem resil
"zamykani" kdy klient si nacte zaznam, ukonci transakci, zaznam zmeni
a chce jej ulozit, zde je velmi dulezite aby nekdo (je z principu jedno
jestli prvni, nebo posledni, v tomto pripade posledni) dostal chybu.

Vse je ponekud zjednodusene, realita byva mnohem zabavnejsi. :))

Pro ty, co to zajima vice, prijedte do belohradu (www.haes.cz).

	Slavek

> 
> Prave, ja taky znam PB. Muzete naridit jak ma generovat 
> where, ale ne zamky. 
> Pro neznale:
> Kdyz se neco zmenilo, tak podminky ve where nevyhovi tj. 
> nekdo predemnou 
> udelal zmenu - ulozil doklad.
> Nekdy se tomu rika optimisticke zamykani nebo prvni vyharava. 
> Podobne lze 
> nastavit i v ADO. Lze nastavit i posledni vyhrava.
> 
> Ovsem o zadny zamek SQL se nejedna.
> 
> Kdyz potrebujete zamknout pri vydeji ze skladu a dalsich 
> akci, tak musite 
> trosku znat co MS SQL dela, pokud ne, tak narazite.
> 
> Doopravdy se neda jen tak portovat aplikace se zamky a bez zamku to 
> neudelate nebo jen prasecky tj. bez osetreni.

> 
> To nevim, je to interni zalezitost powerbuildich datawindow. 
> Nicmene bez jakekoliv sve napsane logiky jsem schopen, pri 
> update zaznamu(ů) u kazdeho jednotliveho zjistit zda jej 
> nekdo mezitim zmenil a jak a take jak s celou situaci 
> nalozim. Datawindow v PowerBuilderu je to co je cela sila 
> tohodle nastroje - jsou opravdu neuveritelne vymakane - 
> zvlast pokud jedou nad materskym serverem.
> 
> Zamykani zaznamu na SQL serveru je dost prasarna a myslim, ze 
> tam ani neco takoveho neni. Cilem vseho snazeni je prave, 
> zamcenych zaznamu bylo co nejmene - to ale nesouvisi jen s 
> aplikaci, ale hlavne se zamykacim schematem na SQLku.
> 
> Myslim, ze tohle uz je opravdu silne OT a pokud Vas neco 
> jeste zajima radeji na privat do zamestnani (*@cpost.cz).
> 
> RadekCX - http:/rvsoft.wz.cz




Další informace o konferenci Hw-list