2008-08-28 13 views
31

Sto cercando un'implementazione open source snella e ben costruita di una libreria B-tree scritta in C. Deve essere sotto una licenza non GPL in modo che possa essere utilizzata in un'applicazione commerciale. Idealmente, questa libreria supporta l'indice B-tree da memorizzare/manipolare come un file su disco in modo da poter costruire alberi di grandi dimensioni utilizzando un footprint RAM configurabile (ovvero: minimo).Che cos'è una buona implementazione B-tree open source in C?

Nota: poiché sembrava esserci un po 'di confusione, un albero binario e un albero B sono non la stessa cosa.

risposta

5

Check out QDBM: http://fallabs.com/qdbm/. È LGPL (può essere utilizzato nell'app commerciale), implementa un hash con disco e/o un albero B + con coppie chiave/valore arbitrarie e si basa su una varietà di piattaforme.

+0

Bello! - Questa è una buona aggiunta alla lista. Grazie! –

+0

Ripensandoci, penso che anche questa dovrebbe essere la risposta preferita. –

6

Se LGPL è ok, allora potrebbe corrispondere alla bolletta. LGPL consente il collegamento con un'applicazione non libera, senza aggiungere alcun vincolo alla distribuzione del prodotto finale.

+0

Sembra essere stato spostato su http://fallabs.com/tokyocabinet/. – florin

+0

Kyoto Cabinet è un seguito GPL al Governo di Tokyo, ma dopo averlo usato per un po 'ha alcune cattive abitudini, ad esempio nessuna eccezione gestendo così su std :: bad_alloc l'arresto anomalo dell'app o modelli di utilizzo della memoria non definiti e non vincolanti. – Lothar

0

Forse si può considere il db berkeley. Sta usando un b-tree internamente.

2

Mi sono imbattuto in this - Il database BB di WB per SCM, Java, C# e C è un pacchetto GNU.

Problemi correlati