Was ist eine gute Open-Source-B-Tree-Implementierung in C?[geschlossen]
-
09-06-2019 - |
Frage
Ich suche eine schlanke und gut aufgebaute Open-Source-Implementierung einer in C geschriebenen B-Tree-Bibliothek.Es muss unter einer Nicht-GPL-Lizenz stehen, damit es in einer kommerziellen Anwendung verwendet werden kann.Im Idealfall unterstützt diese Bibliothek die Speicherung/Bearbeitung des B-Tree-Index als Festplattendatei, sodass große Bäume mithilfe einer konfigurierbaren Methode erstellt werden können (d. h.:minimaler) RAM-Fußabdruck.
Notiz:Da es einige Verwirrung zu geben schien, handelt es sich um einen Binärbaum und einen B-Baum nicht das gleiche.
Lösung
Schauen Sie sich QDBM an: http://fallabs.com/qdbm/.Es ist LGPL (kann in kommerziellen Apps verwendet werden), implementiert einen festplattengestützten Hash und/oder B+-Baum mit beliebigen Schlüssel/Wert-Paaren und baut auf einer Vielzahl von Plattformen auf.
Andere Tipps
Der Autor des SQLite-Implementierung hat das Urheberrecht abgelehnt.Wenn LGPL in Ordnung ist, könnten Sie es vielleicht verwenden Implementierung von GNUpdate?
Wenn LGPL in Ordnung ist, dann Kabinett Tokio könnte genau das Richtige für Sie sein.LGPL ermöglicht die Verknüpfung mit einer nicht-freien Anwendung, ohne dass der Vertrieb des Endprodukts irgendwelche Einschränkungen unterliegt.
Attraktives Chaos kbtree.h implementieren.Es ist eine effiziente B-Tree-Bibliothek
Ich bin rübergekommen Das – Die WB B-Tree-Datenbank für SCM, Java, C# und C, die ein GNU-Paket ist.
Vielleicht können Sie die Berkeley-Datenbank in Betracht ziehen.Es verwendet intern einen B-Baum.