Re: how to build a database from scratch
Date: 5 Dec 2006 13:43:02 -0800
Message-ID: <1165354982.284477.206280_at_l12g2000cwl.googlegroups.com>
Volker Hetzer wrote:
> That may be, but when starting from scratch, one has to start somewhere.
> And while ACID is important, before you can guarantee data integrity
> you have to store the data first, in memory or wherever. So, IMHO
> the data access comes first, then joins, then (with going multiuser)
> locking, then everything else.
The fact that you believe it is possible to retro-fit recovery and
support for concurrent operations to a simple B-Tree implementation
reveals how little you know about how complex recovery and concurrency
are to implement.
Locking is the very tiniest of your challenges.
Consider how your B-tree implementation copes with:
Never mind interactions with the log, the back-up and recovery
system, the non-index data storage, buffers, and what not. Some of
these problems have simple solutions. Most don't. Solving properly