问题
Is there any file system based B+ Tree implementation in c#(open source). I have found some projects, but those are not file(disk) based implementation. I am specifically looking for file system based B+ Trees.
回答1:
Update:
I've added some benchmarks of managed B-Tree implementations for your enjoyment if you looking into this sort of thing.
BplusDotNet "... is known to be somewhat buggy on deletes"
I found just the opposite to be true, RaptorDB 1.6 was corrupting state and BplusDotNet 1.0.2082.16942 seemed to work well enough.
Original:
For completeness I'm going to add my own implementation here.
- Introduction - http://csharptest.net/?page_id=563
- Benchmarks - http://csharptest.net/?p=586
- Online Help - http://help.csharptest.net/
- Source Code - http://code.google.com/p/csharptest-net/
- Downloads - http://code.google.com/p/csharptest-net/downloads
- NuGet Package - http://nuget.org/List/Packages/CSharpTest.Net.BPlusTree
回答2:
http://bplusdotnet.sourceforge.net/ but this one is known to be somewhat buggy on deletes.
Another one that appears to work well:
http://www.codeproject.com/KB/database/RaptorDB.aspx
RaptorDB allows you to store key/values either indexed using a b+ tree or a hash index. You can pick when you create the files.
来源:https://stackoverflow.com/questions/3545414/file-system-based-b-tree-implementation-in-c-sharp