Re: MySQL [was: Re: Dr. Miguel 'Optimistic Locking' Arroz [was Re: WebObjects stress Testing tool?]]
Re: MySQL [was: Re: Dr. Miguel 'Optimistic Locking' Arroz [was Re: WebObjects stress Testing tool?]]
- Subject: Re: MySQL [was: Re: Dr. Miguel 'Optimistic Locking' Arroz [was Re: WebObjects stress Testing tool?]]
- From: Chuck Hill <email@hidden>
- Date: Fri, 4 Dec 2009 17:18:07 -0800
On Dec 4, 2009, at 4:48 PM, Ramsey Lee Gurley wrote:
On Dec 4, 2009, at 2:29 PM, Chuck Hill wrote:
On Dec 4, 2009, at 11:16 AM, Kieran Kelleher wrote:
So, to sum up the pros and cons we heard in the discussion:
FOR MySQL
- Free
So is PG, FrontBase, and others so no a major Pro
MySQL Administrator is pretty nice to have. At least I don't have
to shell out $150 on Navicat. Does postgres/frontbase/other have
decent free tools?
Uh, of course? :-) They are bundled with FB. PG has http://www.pgadmin.org/
- Easy to setup and configure
Uh, it does not work correctly out of the box so I think this is a
con
- Clustering engine
- Easy reliable replication
Those two are really the only Pros that I can see for it. Those
are the only things that would make me use it
AGAINST MySQL
- Lack of deferred constraints
- Lack of transactional DDL (roll back failing migrations for
example). As Mike pointed out, neither does Oracle, so not alone
there.
- need to carefully configure it to get it to work correct
Can it, even with careful setup, work correctly? Consider a
circular reference like Nation - City. Every city has to have a
nation, every nation has to have a capital city. With FK
constraints on, it will be impossible to create a city and a nation.
Correct?
Yes, fully circular references are simply not possible without
deferred constraints (or, well, no constraints if you go that way).
Lack of deferred constraints creates an issue with EOF due to its non-
deterministic ordering of operations.
If FKs are off, I have to rely on EOF, and if Nation ->> City is
huge (Which it probably would be) I don't want to map that. It will
have a catastrophic performance impact when addToBothSides is
called. But without mapping the to-many, I can delete the Nation
and orphan all the cities. So it really sounds like a no win
situation without deferred constraints.
Yes, if you have circular relationships you are pretty well screwed
coming and / or going.
Anyway, I've found this discussion very enlightening. I'll probably
be looking into database options this weekend (^_^) Looking at the
Wonder plugin list, I see Derby, Postgres, Frontbase, and Oracle. I
really like the idea of Derby. Embeddable, plus it's just java, and
I especially like that after reading about Derby's CREATE FUNCTION
ability. It sounds pretty sweet, but the only info I can find
regarding Derby and deferred FKs is negative. I guess I just need
to checkout the Derby framework and find out.
I am pretty sure that Derby was added as an "this is an easy option
for demo apps" rather than a "this is a good option for production
applications".
This is one that I have wanted to look at for a while:
http://www.firebirdsql.org/
http://www.ibphoenix.com/
It is an offshoot/descendant of Interbase, which I used back in my
Delphi days. It might still be a bit Windows-centric.
Postgres, Frontbase, and Oracle can all do deferred FKs, but it
sounds like Oracle is not so desirable due to the migrations thing..
and the money thing.
The money thing is usually the first roadblock. You need deep pockets
to get around that!
Of the other two, I'm probably going to lean toward Postgres, but
I'm wondering... What will I do for admin tools? I'm not good at
remembering cryptic command line options.
IME, FB is easier to admin than PG. I'd not choose a database based
on easy of admin only, that is just a nice to have. Speed, stability,
SQL92 (at least) compliance, replication, and clustering are all more
important than a whizzy GUI admin tool.
Clearly, more study is needed (^_^) Oh, as for the Vertical
inheritance... I was just testing/studying inheritance. I've read
enough about what a waste of time VI is on this list. I know better
than to actually want to use it myself. I've already seen it fail
in MySQL and OpenBase, so I was more interested in why it was
failing than actually attempting to use it.
Say three Hail Marys and you are forgiven my son.
Chuck
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden