Question

I am looking for a lean and well constructed open source implementation of a B-tree library written in C. It needs to be under a non-GPL license so that it can be used in a commercial application. Ideally, this library supports the B-tree index to be stored/manipulated as a disk file so that large trees can be built using a configurable (ie: minimal) RAM footprint.

Note: Since there seemed to be some confusion, a Binary Tree and a B-Tree are not the same thing.

Was it helpful?

Solution

Check out QDBM: http://fallabs.com/qdbm/. It's LGPL (can be used in commercial app), implements a disk backed hash and/or B+ tree with arbitrary key/value pairs, and builds on a variety of platforms.

OTHER TIPS

The author of the SQLite implementation has disclaimed copyright. If LGPL is okay, then maybe you could use GNUpdate's implementation?

If LGPL is ok, then Tokyo Cabinet might fit the bill. LGPL allows linking with a non-Free application, without adding any constraints on the distribution of the final product.

Attractive Chaos implement kbtree.h. It's a efficient B-tree library

I came across this - The WB B-Tree Database for SCM, Java, C#, and C that's a GNU package.

Maybe you can considere the berkeley db. It is using a b-tree internally.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top