2008-08-28 32 views
31

Tôi đang tìm kiếm một triển khai mã nguồn mở gọn gàng và được xây dựng tốt của thư viện B-tree được viết bằng C. Nó cần phải theo một giấy phép không GPL để nó có thể được sử dụng trong một ứng dụng thương mại. Lý tưởng nhất, thư viện này hỗ trợ chỉ mục B-tree được lưu trữ/thao tác dưới dạng tệp đĩa sao cho các cây lớn có thể được xây dựng bằng cách sử dụng dấu chân RAM (tối thiểu) có thể cấu hình.Triển khai B-tree nguồn mở tốt trong C là gì?

Lưu ý: Vì dường như có sự nhầm lẫn, một cây nhị phân và cây B là không phải là điều tương tự.

Trả lời

5

Kiểm tra QDBM: http://fallabs.com/qdbm/. Đó là LGPL (có thể được sử dụng trong ứng dụng thương mại), thực hiện một đĩa được hỗ trợ băm và/hoặc cây B + với các cặp khóa/giá trị tùy ý và được xây dựng trên nhiều nền tảng khác nhau.

+0

Tuyệt vời! - Đây là một bổ sung tốt cho danh sách. Cảm ơn! –

+0

Trên suy nghĩ thứ hai, tôi nghĩ rằng điều này cũng nên là câu trả lời ưa thích. –

6

Nếu LGPL là ok, thì có thể phù hợp với hóa đơn. LGPL cho phép liên kết với một ứng dụng không miễn phí, mà không thêm bất kỳ ràng buộc nào vào việc phân phối sản phẩm cuối cùng.

+0

Dường như đã chuyển đến http://fallabs.com/tokyocabinet/. – florin

+0

Nội các Kyoto là một GPL theo dõi Nội các Tokyo nhưng sau khi sử dụng nó một thời gian, nó có một số thói quen rất xấu, ví dụ như không xử lý ngoại lệ như vậy trên std :: bad_alloc ứng dụng bị lỗi hoặc các mẫu sử dụng bộ nhớ không xác định và không bị giới hạn. – Lothar

0

Có thể bạn có thể coi db berkeley. Nó đang sử dụng một cây b trong nội bộ.

2

Tôi đã xem qua this - Cơ sở dữ liệu B-Tree WB cho SCM, Java, C# và C là gói GNU.

Các vấn đề liên quan