Re: New HDB backend MDB

Nico Williams <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.heimdal.general
Message-ID <CAK3OfOghLL0XPVCTMOP5yyU42i2=tRh7Aq1fRHvp=MipTy6xYw@mail.gmail.com>
On Wed, Dec 7, 2011 at 2:05 PM, Howard Chu <[email protected]> wrote:
> Nico Williams wrote:
> I use subdatabases in MDB for multiple tables, so no, just one file is used.

Great!

> Yes, that's what gave me the idea for the MDB port. And yes, SQLite3's
> overall architecture is a mess, no well defined abstraction layer
> boundaries, app-level code that's fully aware of the binary file format.
> Ugh.

It's not entirely a mess, and they seem to be improving things in the
long term.  But I'm annoyed at the low performance of the VM (and the
lack of stability of the VM, which makes it not remotely suitable as
an interface).

>> Depending on the filesystem you may be able to safely do just one sync
>> per-transaction.
>
> That would require that the filesystem writes to disk in exactly the order
> that the app issues write() calls, with no reordering. Since you can't
> guarantee that the hard drives themselves won't do seek
> optimization/reordering, I don't believe you can make that statement.

You have a single writer and a COW approach, so the only concern is
that the ubberblock not be written until the rest is written.

> NOSYNC is exposed. I may add NO_METASYNC.

An option to only sync after the ubberblock is written is what I'm
recommending :)

> mmap the whole DB, size is limited by the virtual address space. That was
> already spelled out in my presentation. And right, anyone doing serious
> server work is on 64-bit by now.

Agreed.

Overall I really like this.  I've not looked at the code, but I expect
I'd be pretty happy :)

One more question: is the page size configurable?  If not, what is the
page size?  If yes, what's the default page size and how can it be set
to a specific value?

Nico
--
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.