I am about to choose a database solution for my c# project:
- to store simple configuration at first, bools, ints, paths etc.
- to store lots of small text blocks in the future
- probably to store small pictures in the future too
I need the database:
- to be lightweight
- to be embedded
- to be created per each user
- not to be used by more than one user at time
- to be free or very cheap
- transactions to be reliable
- to be scalable
- to be encrypted or at least masked
Initially I thought about some NoSQL, text databases but is it the correct path? How about SQLite or other solutions? Since the database must be embedded I shall probably choose from:
- SQLite
- SQL Server Compact
- Firebird Embedded
- Couchbase Lite
- LiteDB
LiteDB has got it all: it's lightweight, modern, noSQL, scalable, encryption is out of the box and supports .NET Core. Any cons? Couchbase needs Enterprise Edition for encryption and the other databases are SQL or/and obsolete.
Does LiteDB have any cons?