Subject Re: [IB-Architect] Sweep and Garbage Collection
Author Jim Starkey
At 05:57 PM 1/24/03 +0100, Pavel Cisar wrote:
>The Netfrastructure uses it, right ? I'm really curious about the impact
>of this approach. Well, I expect that it's lightning fast compared to FB,
>but how you keep it reliable (hw/sw failure proof) under massive load ? I
>suppose that there is a lot of internal bookkeeping to save everything on
>commit, but how you manage that to make it reliable in case of failure in
>the middle ?

The theoretical answer is a serialized update log flushed to persistent
storage that can be processed by a write thread and, if necessary,
a recovery manager. But while that's architected, it isn't

The practical answer is a) a generally very reliable system, and
b) record updates deferred until commit time, followed by an
extremely reliable flush process.

While netfrastructure doesn't follow the careful-write discipline,
the nature of its page cache design tends to honor write sequence,
achieving pretty much the same thing. Unlike Interbase, a fully
distributed architecture, netfrastructure is a single process
server that doesn't require careful-write to work at all.

Netfrastructure has not ambitions to be a general purpose database
engine, though more from my intense dislike for the database market
than technology. Netfrastructure is designed as the foundation
of dynamic web sites. We currently crank out about a 100 complex
pages per second on consumer level PCs with an easily achievable
goal of 400 pages per second on a dual processor. But that level
of performance swamps a T3, so faster is pretty much irrelevent.

Jim Starkey