6

What NoSQL solutions are out there for .NET?

(This is a reposting of this question on Stack Overflow, which was closed long ago.)

I'd appreciate any up-to-date recommendations, especially for minimal solutions with maybe only a few thousand records.

Also, is it a good idea to store objects in serialized form, for example using JSON, or does this cause too many backwards-compatibility problems later when the program is updated and the objects have been changed somewhat?

1 Answer 1

6

I haven't gotten any answers (or even any views of my question), so here's my very non-authoritative answer, based on some googling and some testing of one of the programs.

There's a comprehensive list of NoSQL databases here: http://nosql-database.org/

So you can search that web page for ".net" or "c#", and get a complete (and quite large) list of possibilities. And don't forget to click on "A NoSQL parody" over in the right hand column.

For large systems two leading contenders are these:

mongoDB: https://www.mongodb.com/ https://docs.mongodb.com/ecosystem/drivers/csharp/

RavenDB: https://ravendb.net/

For medium-sized systems this one seems to be popular:

DBreeze: https://github.com/hhblaze/DBreeze

For small, perhaps serverless, systems there's these two:

LiteDB: http://www.litedb.org/

RaptorDB: https://www.codeproject.com/Articles/375413/RaptorDB-the-Document-Store

All of the above are written in C# except for mongoDB, which has a "C# driver".

After a bit of testing I've chosen LiteDB for my program. It seems to be well-maintained and has quite a bit of usage - it's been forked almost 500 times on GitHub.

(I also asked if it was a good idea to store serialized .Net objects in a database. I'm still very interested in possible answers / opinions on that question.)

2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.