问题
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.
回答1:
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.
回答2:
The author of the SQLite implementation has disclaimed copyright. If LGPL is okay, then maybe you could use GNUpdate's implementation?
回答3:
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.
回答4:
Attractive Chaos implement kbtree.h. It's a efficient B-tree library
回答5:
I came across this - The WB B-Tree Database for SCM, Java, C#, and C that's a GNU package.
回答6:
Maybe you can considere the berkeley db. It is using a b-tree internally.
来源:https://stackoverflow.com/questions/32376/what-is-a-good-open-source-b-tree-implementation-in-c