[sclug] [OT] Journalling in DB's

Roland Turner SCLUG raz.fpyht.bet.hx at raz.cx
Wed May 18 08:40:43 UTC 2005


Will Dickson wrote:


> Can anyone recommend a good book or online resources about
> incorporating  ACID compliance into database engines?


I suspect that this is one of those situations in which if you need to ask
the question then the answer is "no". In this case it's because
"incorporating ACID compliance" involves multiple branches of computer
science and is, in general, too large a task to be attempted by a single
individual. (Indeed, if such an individual existed, MySQL AB would no
doubt already have hired him/her.)

> In particular, is
> journalling  always the way to go, does this word mean what I think it
> means,


As you've not explained what it is that you think journalling means, the
second part of your question is difficult to answer, and I don't believe
that you could describe journalling as a complete solution ("the way to
go"), but most complete implementations of ACID properties on a general
purpose database will include journalling, yes. This is particularly true
if recoverability is amongst your durability requirements.

> are  there any well-known pitfalls that I need to avoid, and /


Re-inventing the wheel springs to mind. (Read: you almost certainly
_don't_ want to implement ACID properties yourself.)

> or well-known  techniques that I don't know about.


As above; your question covers several branches of computer science; the
"well-known" techniques span many dozens of papers. I am not aware of any
HOWTOs on this.

> (I do have reasons
> for not simply  using something which has already solved all of this,
> which aren't  important here.)


Hmm. Might I suggest reading Eric Raymond's "How To Ask Questions" and in
particular the describing of the goal, not the step[1].

I'm guessing that you do not, in fact, have investors willing to fund a
team of half a dozen specialists and a handful of code monkeys for 5-10
years in retrofitting ACID to some existing software. I therefore assume
that whatever problem you are trying to solve can almost certainly be
solved better, faster and far more easily some other way. Care to share
the underlying problem with us?

> I'm looking for the science rather than
> "this is how  you do it for product XYZ."


Have you completed (or are you currently studying for) a B.Sc.? If not,
are you _sure_ you want "the science"?

- Raz


1: http://www.catb.org/~esr/faqs/smart-questions.html#goal




More information about the Sclug mailing list