[TransWarp] Transactionality and enterprise politics (was Re: Tips on using model, storage, config, and naming)

Roché Compaan roche at upfrontsystems.co.za
Mon Dec 30 08:32:33 EST 2002

* Phillip J. Eby <pje at telecommunity.com> [2002-12-30 17:45]:
> >I was caught by surprise with your comments on MySQL and am now
> >seriously re-evaluating :-) I don't for one minute think MySQL is all
> >there is to databases - I am *very* aware of its limitations. At the
> >moment it provides me with a reasonably stable and affordable database
> >on Linux and Windows whereas Postgres needs to run in a Cygwin
> >environment on Windows and I don't now how this will affect its
> >performance. I also thought that MySQL's lack of referential integrity
> >and transactions is ok as long as their is a layer or middleware above
> >it that takes care of it?
> But how much does it cost you to create that middleware?  And more to the 
> point, what does it gain you?  If you chose MySQL for speed, adding a 
> middleware layer to do that stuff is just going to slow it down.  Why not 
> just use a reasonably fast DB in the first place?
> As for Cygwin performance, the main issue to watch out for is memory 
> consumption of anything that does 'fork()'.  Windows doesn't do fork, so 
> Cygwin emulates it by copying the entire app's memory contents at fork 
> time.  The next thing to watch out for would be filesystem performance.
> But I do have a question for you...  do you need to run a multi-user server 
> from a Windows machine?

Multi-user server: yes
>From a Windows machine: not when I have a choice or can influence the
decision. Use of Windows is still policy in some of our corporate
clients and they don't budge easily.  We normally try to give a turnkey
solution ie. server + linux + our product. We have one product in use by
a couple of corporates but there is only one table in this product that
gets hit really hard and it doesn't have to handle any simultaneous
edits - it only has to insert batches really fast.

> >Before I started using MySQL, I used
> >Interbase/Firebird but it was really unstable on linux. So, what are my
> >options?
> To be honest, it has been at least 5 years since I seriously considered a 
> Windows machine a suitable basis for any kind of multi-user application 
> server, so the cross platform issue hit a blind spot for me here.  My 
> emphasis on Windows support in PEAK has been primarily intended for client 
> applications, and I didn't even know that MySQL *ran* on Windows.

As I explained it's not always my choice.

> >What implementation of LDAP are you using? I ask because OpenLDAP does not
> >currently support transactions?
> We don't perform transactional operations against LDAP; we use it as a 
> directory service only, so atomic operations suffice.  We do in fact use 
> OpenLDAP, although we have a Netscape server as a central repository for 
> pushing to OpenLDAP replicas on each machine that needs access to the 
> directory.

But an EntityDM wants to join a transaction in __getitem__ so how will
they work with a LDAPConnection?

Roché Compaan
Upfront Systems                 http://www.upfrontsystems.co.za

More information about the PEAK mailing list