I have a tutorial available to understand how one can use Berkeley DB
to store data with multiple fields [1]. If you are only interested in
understanding how to do look up by one or more of them, please skip to
slide 51.
If this doesn't help, I can write up another explanation for the
issues that are outstanding.
Hope this helps.
Nikunj
http://o-micron.blogspot.com
[1] http://www.oracle.com/technology/products/berkeley-db/tutorial-berkeleydb-ds.html
On Jun 26, 2009, at 1:13 PM, Maciej Stachowiak wrote:
>>>
>>>
>>> It's also not clear to me if a BDB-level API is sufficient for
>>> developer needs. As I understand it, it's basically a giant
>>> dictionary with unstructured keys and values. So it's not
>>> providing much over LocalStorage, except for prefix matching and
>>> the ability to hold large amounts of records or records that are
>>> individually large. There's no way to efficiently query by one of
>>> several fields, as I understand it.
>>
>> I trust that you are relatively new to storing data with B-trees.
>> They are at the heart of Oracle's indices so efficiency is out of
>> question. If you are wondering how can people store complex data
>> items with multiple fields and repeating values, look at Berkeley
>> DB Java Edition, which supports the EJB 3 persistence model [5].
>> FYI, there is no significant difference between the APIs of BDB
>> Java Edition and the original BDB. They also have identical
>> licensing requirements.
>
> Your references do not appear to explain on a technical level how
> one stores data with multiple fields in a way that you can query
> efficiently by more than one of them. I would appreciate a brief
> explanation.