Re: EDS

new topic     » goto parent     » topic index » view thread      » older message » newer message

Irv Mullins wrote:

>On Fri, 10 Mar 2000, I wrote:
>
>> I need the ability to lock individual records, make a change, and write the
>> change back to disk (quickly) before unlocking the record for someone else to
>> use....
>
>The thought occurs to me that using Pete's RDC.e, I should be able to turn EDS
>into a db server, and write client programs for my users. That would accomplish
>two things: all the data would be accessed by one program, not several, and
>only one function could be performed at any given time, so that the issue of
>file/record locking would be moot, and multi-user capability would be more or
>less free.
>
>This seems too easy. Am I missing something?
>Irv
Other than tracking the IO of each user and their connection to the db, you're
not missing much. It is going to matter a lot if  "x" reads record 10, and then
"y" reads record 10. One or both or neither of them may write that record
back, modified. The order may mildly affect the integrity of your data, and
both "x" and "y" may find some fault with your handling of "their" data.
Multiuser access is not made transparent by server mediation unless the
server has clearly known and enforceable rules for such situations. Record
locking is one of the hardest areas to handle regardless of implementation.
Without timers and timeouts on both server and client, deadly embraces are
the inevitable result of locking. There are more than a few other such subtle
situations that result among other times when multi-threaded clients access
a non-threaded server...which is a possibility in this situation. The bottom
line is that nothing changes about the need for certain types of constructs
and rules in database access...only the location of the code.

If you really do serialize all IO as was indicated by your premise, you will
make the database almost useless for multi-user access. The time between
a read and a write of a single piece of data is wall-clock, human time, not
computer cycle time.

Everett L.(Rett) Williams
rett at gvtc.com

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu