I am looking for a quick (as in huge performance, not a quick fix) solution for saving and retrieving tens of millions of small (about 1 thousand) binary objects. Each object must have a unique identifier to retrieve (preferably a GUID or SHA). Additional requirements are that it must be used with .NET and does not require additional software installation.
I am currently using a single-table SQLite database for this task, but I want to get rid of the overhead of processing simple SQL statements such as SELECT data FROM store WHERE id = id.
I also tested a permanent persistent file system in NTFS, but performance degrades very quickly once it reaches half a million objects.
PS By the way, objects never need to be deleted, and input speed is very low. In fact, every time an object changes, a new version is saved and the previous version is saved. This is actually a requirement to support time travel.
Just adding more information to this stream:
In BLOB or not in BLOB: a large repository of objects in a database or file system http://arxiv.org/abs/cs.DB/0701168
Hugo sereno ferreira
source share