Subject: Re: [boost] Interest in B-tree library for Boost?
From: Beman Dawes (bdawes_at_[hidden])
Date: 2010-09-15 21:08:21
On Wed, Sep 15, 2010 at 7:26 PM, Cory Nelson <phrosty_at_[hidden]> wrote:
> - Is concurrent access okay if it's opened as read-only?
Yes, as long as the file isn't being written by a different instance.
> - Right now it's using synchronous I/O. Can async support (via asio)
> be added?
I don't know the answer to that. I would need help from someone who
understands async I/O far better than I do.
> How about memory-mapped I/O for small B-trees or large
> address spaces?
I've did some preliminary investigation about five years ago, and
memory-mapped I/O looked like it might be cost effective. But I'd give
it a lower priority than adding support for variable length
keys/mapped_types or concurrency.
> - Will this support multiple B-trees in one file?
Not currently. That would be relatively easy to support. What is the
motivating use case?
> - Will this implement ACID properties?
No. The model is a standard library associative container, not a
database. ACID properties can be built on top of B-trees, but the
B-trees themselves don't have ACID properties, other than a few
aspects like atomic writes.
> - Can this be adapted for in-memory use as well, with full non-POD support?
No current plans for that. Why wouldn't you just a standard library
associative container for that?