Foreign keys / Transactions in MySQL.. WTF?
Alex Sayle
alexs at alphacomplex.info
Tue Jul 31 19:13:28 BST 2007
On 31 Jul 2007, at 15:12, Jonathan Stowe wrote:
> On Tue, 2007-07-31 at 14:27 +0100, Aaron Trevena wrote:
>> Hello Nic,
>>
>>> What do you mean by transaction logging? Any relational DB has
>>> transaction logs.
>>
>> action log then, underlying mysql's replication is a log of
>> everything
>> done on the master node, allowing you to synch manually (with some
>> very big caveats) from a given time.
>
> You mean like MS SQL Server "log shipping" or an unreliable version of
> Informix Dynamic Server's HA Replication?
MySQL's replication is a get out of jail card for their lack of
any real mechanism to back it up. Its a sorry excuse of a feature
and is used by fan boys to put you in a false sense of security.
To take a snapshot of a MySQL database you need to lock the whole
database. Once your Database reaches a cretin size and your backups
take more than your average write interval your clients write will
be held until the lock is released. The lingering connections also
mean that your client application halts, and one can easily exhausts
the available connection count resulting in new connection being
rejected.
Now $work's DB currently takes 90 mins to dump out, and our average
mean time between write is 6 seconds[1]. you do the maths.
MySQL has its place as a read intensive lookup table and should
not be considered to be a RDMS on any sorts beyond a sick joke
or a 80's horror movie.
And that's before they started this "Enterprise" manbo jumbo and
before InnoDB was bought by Oracle... oh and what ever happened
to SAP AG's MAXDB ?
[1]: Yes I'm well aware that this is not how one should use MySQL
that wasn't my call and I'm working on a _fix_.
--
"My database and I are fighting a duel to the death.
One or the other of us has got to go."
[------------------------------------------------------------------]
Alex Sayle alexs at alphacomplex.info
More information about the london.pm
mailing list