- readers & writers

From: [at]} <Antony>
Date: Sun, 03 Jun 2007 08:13:05 -0700

----boundary-LibPST-iamunique-1139131543_-_-
Content-type: text/plain

René,

Have you looked at Helmut Zinn's Info subsystem?
http://www.zinnamturm.de/DownloadsIN.htm#Info

It seems his Helpdesk's Advisor, which was implemented using Info is
similar in that it is operating over a LAN, and is using Files. You
might update a local copy of the files whenever a change has been made
in the master set, with only the changed files being rewritten.

Antony

René Dorta wrote:

> Hello Bob,
> Thanks for your advice. I am already working with the last possibility
> you mentioned.
>
> Regards, René.
>
>
>
> Bob Walkden wrote:
>
>>It seems to me that the current model for files is a reasonable
>>compromise between simplicity, usefulness and safety. As soon as you
>>introduce concurrency you are no longer dealing with a 'simple file
>>application', and you have to respond accordingly.
>>
>>If you change the model so that other processes can read while one
>>process can write, then you run the risk of some of the problems which
>>database transaction management eliminates, such as non-repeatable
>>reads and dirty reads. To eliminate these you would need a more
>>finely-grained locking strategy, such as block and record locking.
>>Even these on their own don't fully eliminate the aforementioned
>>problems (and others which arise), and you start to need transactions.
>>This takes you into the realm of DBMSs.
>>
>>So the answer, in my opinion, is to recognise that you no longer have
>>a 'simple file application', and use the right tool for the job, in
>>this case the SQL module with a suitable DBMS which handles
>>concurrency well enough.
>>
>>Another possibility might be to look at the design of your
>>application, and identify those parts which require the files to be
>>updated. Separate them from the rest of the application and make sure
>>that they hold their locks for the shortest possible time by opening
>>the files only when you need to, and closing them as soon as you have
>>finished writing.
>>
>>--
>>Regards,
>> Bob
>>
>>
>>
>>>-----Original Message-----
>>>From: blackbox{([at]})nowhere.xy
>>>Behalf Of René Dorta
>>>Sent: 03 June 2007 05:31
>>>To: BlackBox Mailing List
>>>Subject: [BlackBox] - readers & writers
>>>
>>>I have been using for a long time a simple file application.
>>>Due to the
>>>small size of my data I let alone SQL and use instead modules
>>>Files and
>>>Stores directly. Every thing worked fine till now, when I
>>>need to access
>>>my data from different computers in a LAN. How to handle this?: If I
>>>
>>>
>>
>>
>>
>>>open my files in "shared" mode ("which is the rule in BlackBox"), I
>>>cannot update them; on the other hand, if I use "exclusive" (which
>>>
>>>
>>is
>>
>>
>>>what I had been doing) I cannot open those files from more
>>>than one site.
>>>
>>>What I need is a way to write my files from a master site, but to be
>>>
>>>
>>
>>
>>
>>>able to read them from any site in the LAN.
>>>
>>>Thanks folks:
>>>René Dorta.
>>>
>>>--- BlackBox
>>>--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
>>>
>>>
>>>
>>>
>>>
>>
>>--- BlackBox
>>--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
>>
>>
>>
>>
>

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy

----boundary-LibPST-iamunique-1139131543_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBSZW5cJ2U5LFxwYXINClxwYXIN
CkhhdmUgeW91IGxvb2tlZCBhdCBIZWxtdXQgWmlubidzIEluZm8gc3Vic3lzdGVtPyAgXHBhcg0K
aHR0cDovL3d3dy56aW5uYW10dXJtLmRlL0Rvd25sb2Fkc0lOLmh0bSNJbmZvXHBhcg0KXHBhcg0K
SXQgc2VlbXMgaGlzIEhlbHBkZXNrJ3MgQWR2aXNvciwgd2hpY2ggd2FzIGltcGxlbWVudGVkIHVz
aW5nIEluZm8gaXMgXHBhcg0Kc2ltaWxhciBpbiB0aGF0IGl0IGlzIG9wZXJhdGluZyBvdmVyIGEg
TEFOLCBhbmQgaXMgdXNpbmcgRmlsZXMuICBZb3UgXHBhcg0KbWlnaHQgdXBkYXRlIGEgbG9jYWwg
Y29weSBvZiB0aGUgZmlsZXMgd2hlbmV2ZXIgYSBjaGFuZ2UgaGFzIGJlZW4gbWFkZSBccGFyDQpp
biB0aGUgbWFzdGVyIHNldCwgd2l0aCBvbmx5IHRoZSBjaGFuZ2VkIGZpbGVzIGJlaW5nIHJld3Jp
dHRlbi4gXHBhcg0KXHBhcg0KQW50b255XHBhcg0KXHBhcg0KUmVuXCdlOSBEb3J0YSB3cm90ZTpc
cGFyDQpccGFyDQo+IEhlbGxvIEJvYixccGFyDQo+IFRoYW5rcyBmb3IgeW91ciBhZHZpY2UuIEkg
YW0gYWxyZWFkeSB3b3JraW5nIHdpdGggdGhlIGxhc3QgcG9zc2liaWxpdHkgXHBhcg0KPiB5b3Ug
bWVudGlvbmVkLlxwYXINCj5ccGFyDQo+IFJlZ2FyZHMsIFJlblwnZTkuXHBhcg0KPlxwYXINCj5c
cGFyDQo+XHBhcg0KPiBCb2IgV2Fsa2RlbiB3cm90ZTpccGFyDQo+XHBhcg0KPj5JdCBzZWVtcyB0
byBtZSB0aGF0IHRoZSBjdXJyZW50IG1vZGVsIGZvciBmaWxlcyBpcyBhIHJlYXNvbmFibGVccGFy
DQo+PmNvbXByb21pc2UgYmV0d2VlbiBzaW1wbGljaXR5LCB1c2VmdWxuZXNzIGFuZCBzYWZldHku
IEFzIHNvb24gYXMgeW91XHBhcg0KPj5pbnRyb2R1Y2UgY29uY3VycmVuY3kgeW91IGFyZSBubyBs
b25nZXIgZGVhbGluZyB3aXRoIGEgJ3NpbXBsZSBmaWxlXHBhcg0KPj5hcHBsaWNhdGlvbicsIGFu
ZCB5b3UgaGF2ZSB0byByZXNwb25kIGFjY29yZGluZ2x5LlxwYXINCj4+XHBhcg0KPj5JZiB5b3Ug
Y2hhbmdlIHRoZSBtb2RlbCBzbyB0aGF0IG90aGVyIHByb2Nlc3NlcyBjYW4gcmVhZCB3aGlsZSBv
bmVccGFyDQo+PnByb2Nlc3MgY2FuIHdyaXRlLCB0aGVuIHlvdSBydW4gdGhlIHJpc2sgb2Ygc29t
ZSBvZiB0aGUgcHJvYmxlbXMgd2hpY2hccGFyDQo+PmRhdGFiYXNlIHRyYW5zYWN0aW9uIG1hbmFn
ZW1lbnQgZWxpbWluYXRlcywgc3VjaCBhcyBub24tcmVwZWF0YWJsZVxwYXINCj4+cmVhZHMgYW5k
IGRpcnR5IHJlYWRzLiBUbyBlbGltaW5hdGUgdGhlc2UgeW91IHdvdWxkIG5lZWQgYSBtb3JlXHBh
cg0KPj5maW5lbHktZ3JhaW5lZCBsb2NraW5nIHN0cmF0ZWd5LCBzdWNoIGFzIGJsb2NrIGFuZCBy
ZWNvcmQgbG9ja2luZy5ccGFyDQo+PkV2ZW4gdGhlc2Ugb24gdGhlaXIgb3duIGRvbid0IGZ1bGx5
IGVsaW1pbmF0ZSB0aGUgYWZvcmVtZW50aW9uZWRccGFyDQo+PnByb2JsZW1zIChhbmQgb3RoZXJz
IHdoaWNoIGFyaXNlKSwgYW5kIHlvdSBzdGFydCB0byBuZWVkIHRyYW5zYWN0aW9ucy5ccGFyDQo+
PlRoaXMgdGFrZXMgeW91IGludG8gdGhlIHJlYWxtIG9mIERCTVNzLiBccGFyDQo+PlxwYXINCj4+
U28gdGhlIGFuc3dlciwgaW4gbXkgb3BpbmlvbiwgaXMgdG8gcmVjb2duaXNlIHRoYXQgeW91IG5v
IGxvbmdlciBoYXZlXHBhcg0KPj5hICdzaW1wbGUgZmlsZSBhcHBsaWNhdGlvbicsIGFuZCB1c2Ug
dGhlIHJpZ2h0IHRvb2wgZm9yIHRoZSBqb2IsIGluXHBhcg0KPj50aGlzIGNhc2UgdGhlIFNRTCBt
b2R1bGUgd2l0aCBhIHN1aXRhYmxlIERCTVMgd2hpY2ggaGFuZGxlc1xwYXINCj4+Y29uY3VycmVu
Y3kgd2VsbCBlbm91Z2guXHBhcg0KPj5ccGFyDQo+PkFub3RoZXIgcG9zc2liaWxpdHkgbWlnaHQg
YmUgdG8gbG9vayBhdCB0aGUgZGVzaWduIG9mIHlvdXJccGFyDQo+PmFwcGxpY2F0aW9uLCBhbmQg
aWRlbnRpZnkgdGhvc2UgcGFydHMgd2hpY2ggcmVxdWlyZSB0aGUgZmlsZXMgdG8gYmVccGFyDQo+
PnVwZGF0ZWQuIFNlcGFyYXRlIHRoZW0gZnJvbSB0aGUgcmVzdCBvZiB0aGUgYXBwbGljYXRpb24g
YW5kIG1ha2Ugc3VyZVxwYXINCj4+dGhhdCB0aGV5IGhvbGQgdGhlaXIgbG9ja3MgZm9yIHRoZSBz
aG9ydGVzdCBwb3NzaWJsZSB0aW1lIGJ5IG9wZW5pbmdccGFyDQo+PnRoZSBmaWxlcyBvbmx5IHdo
ZW4geW91IG5lZWQgdG8sIGFuZCBjbG9zaW5nIHRoZW0gYXMgc29vbiBhcyB5b3UgaGF2ZVxwYXIN
Cj4+ZmluaXNoZWQgd3JpdGluZy5ccGFyDQo+PlxwYXINCj4+LS1ccGFyDQo+PlJlZ2FyZHMsXHBh
cg0KPj4gQm9iIFxwYXINCj4+XHBhcg0KPj4gIFxwYXINCj4+XHBhcg0KPj4+LS0tLS1PcmlnaW5h
bCBNZXNzYWdlLS0tLS1ccGFyDQo+Pj5Gcm9tOiBibGFja2JveEBvYmVyb24uY2ggW21haWx0bzpi
bGFja2JveEBvYmVyb24uY2hdIE9uIFxwYXINCj4+PkJlaGFsZiBPZiBSZW5cJ2U5IERvcnRhXHBh
cg0KPj4+U2VudDogMDMgSnVuZSAyMDA3IDA1OjMxXHBhcg0KPj4+VG86IEJsYWNrQm94IE1haWxp
bmcgTGlzdFxwYXINCj4+PlN1YmplY3Q6IFtCbGFja0JveF0gLSByZWFkZXJzICYgd3JpdGVyc1xw
YXINCj4+PlxwYXINCj4+PkkgaGF2ZSBiZWVuIHVzaW5nIGZvciBhIGxvbmcgdGltZSBhIHNpbXBs
ZSBmaWxlIGFwcGxpY2F0aW9uLiBccGFyDQo+Pj5EdWUgdG8gdGhlIFxwYXINCj4+PnNtYWxsIHNp
emUgb2YgbXkgZGF0YSBJIGxldCBhbG9uZSBTUUwgYW5kIHVzZSBpbnN0ZWFkIG1vZHVsZXMgXHBh
cg0KPj4+RmlsZXMgYW5kIFxwYXINCj4+PlN0b3JlcyBkaXJlY3RseS4gRXZlcnkgdGhpbmcgd29y
a2VkIGZpbmUgdGlsbCBub3csIHdoZW4gSSBccGFyDQo+Pj5uZWVkIHRvIGFjY2VzcyBccGFyDQo+
Pj5teSBkYXRhIGZyb20gZGlmZmVyZW50IGNvbXB1dGVycyBpbiBhIExBTi4gSG93IHRvIGhhbmRs
ZSB0aGlzPzogSWYgSVxwYXINCj4+PiAgICBccGFyDQo+Pj5ccGFyDQo+PlxwYXINCj4+ICBccGFy
DQo+PlxwYXINCj4+Pm9wZW4gbXkgZmlsZXMgaW4gInNoYXJlZCIgbW9kZSAoIndoaWNoIGlzIHRo
ZSBydWxlIGluIEJsYWNrQm94IiksIEkgXHBhcg0KPj4+Y2Fubm90IHVwZGF0ZSB0aGVtOyBvbiB0
aGUgb3RoZXIgaGFuZCwgaWYgSSB1c2UgImV4Y2x1c2l2ZSIgKHdoaWNoXHBhcg0KPj4+ICAgIFxw
YXINCj4+PlxwYXINCj4+aXMgXHBhcg0KPj4gIFxwYXINCj4+XHBhcg0KPj4+d2hhdCBJIGhhZCBi
ZWVuIGRvaW5nKSBJIGNhbm5vdCBvcGVuIHRob3NlIGZpbGVzIGZyb20gbW9yZSBccGFyDQo+Pj50
aGFuIG9uZSBzaXRlLlxwYXINCj4+PlxwYXINCj4+PldoYXQgSSBuZWVkIGlzIGEgd2F5IHRvIHdy
aXRlIG15IGZpbGVzIGZyb20gYSBtYXN0ZXIgc2l0ZSwgYnV0IHRvIGJlXHBhcg0KPj4+ICAgIFxw
YXINCj4+PlxwYXINCj4+XHBhcg0KPj4gIFxwYXINCj4+XHBhcg0KPj4+YWJsZSB0byByZWFkIHRo
ZW0gZnJvbSBhbnkgc2l0ZSBpbiB0aGUgTEFOLlxwYXINCj4+PlxwYXINCj4+PlRoYW5rcyBmb2xr
czpccGFyDQo+Pj5SZW5cJ2U5IERvcnRhLlxwYXINCj4+PlxwYXINCj4+Pi0tLSBCbGFja0JveFxw
YXINCj4+Pi0tLSBzZW5kIHN1YmplY3QgSEVMUCBvciBVTlNVQlNDUklCRSB0byBibGFja2JveEBv
YmVyb24uY2hccGFyDQo+Pj5ccGFyDQo+Pj5ccGFyDQo+Pj5ccGFyDQo+Pj4gICAgXHBhcg0KPj4+
XHBhcg0KPj5ccGFyDQo+Pi0tLSBCbGFja0JveFxwYXINCj4+LS0tIHNlbmQgc3ViamVjdCBIRUxQ
IG9yIFVOU1VCU0NSSUJFIHRvIGJsYWNrYm94QG9iZXJvbi5jaFxwYXINCj4+XHBhcg0KPj5ccGFy
DQo+PiAgXHBhcg0KPj5ccGFyDQo+XHBhcg0KXHBhcg0KLS0tIEJsYWNrQm94XHBhcg0KLS0tIHNl
bmQgc3ViamVjdCBIRUxQIG9yIFVOU1VCU0NSSUJFIHRvIGJsYWNrYm94QG9iZXJvbn19AGIzQm9a
WEk=


----boundary-LibPST-iamunique-1139131543_-_---
Received on Sun Jun 03 2007 - 17:13:05 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:31:33 UTC