Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Any DBM for .NET?

I'm looking for a simple DBM library such as BerkeleyDB or Kyoto Cabinet, but natively working for .NET. I need to manage more than one million records (maybe ten millions), and possibly in a hierarchical way (this last point is not mandatory, we can work with a linear structure).

Does such a thing even exist?

like image 894
picrap Avatar asked Oct 12 '11 19:10

picrap


People also ask

What is a good dBm for Internet?

A perfect signal is -30 dBm. Likely, you do not have a perfect signal, but that is OK. Any signal between -67 to -30 dBm will let you perform most online activities.

What is a good dBm for 5g?

Measured in dBm, a signal of greater than -70 dBm is considered an excellent signal in all networks.

Is 45 dBm a good signal?

-30 dBm: The best possible. -50 dBm: Excellent signals. -60 dBm: Very good signals. -65 dBm: Good, reliable signals.


4 Answers

I finally found RaptorDB and it matches almost exactly my needs. I'll write down my evaluation here after it's been fully tested.

Edit: after testing, it was not exactly working as expected. Actually it was not exactly working, so I wrote my own DBM (it always ends up like this :)). The problems where in a multithreaded environnement, where I got DB corruption quite often (and yes, I've checked my code for thread safety). If someone has a positive feedback, I'm interested.

like image 173
picrap Avatar answered Sep 27 '22 23:09

picrap


SQL Server Compact Edition is a viable choice, although I'm not sure what you mean by "natively working for .NET" - .NET has no built-in database (unless you count DataTables and XML, which I don't).

like image 31
MusiGenesis Avatar answered Sep 27 '22 22:09

MusiGenesis


What about System.Data.SQLite?

like image 29
Vlad Avatar answered Sep 27 '22 22:09

Vlad


Assuming you are on Windows I suggest trying the ESENT database engine via the ManagedEsent interop layer. ESENT is built into Windows and has a similar level of functionality and performance to BerkelyDB. The differences are that ESENT isn't just a key/value store, it has columns and indexes built in, but ESENT doesn't have replication.

like image 23
Laurion Burchall Avatar answered Sep 27 '22 21:09

Laurion Burchall