Рассматривали ли вы использование SQL Server Compact Edition ?
- Имеет много поддержки .NET
- Управление версиями схемы и возможность для новых версий вашего приложения обрабатывать старые схемы будут полностью под вашим контролем. Управление версиями SQL Server Compact должно казаться чем-то вроде вашего приложения, использующего функции в более новой версии, которых не было в более старой версии.
- У вас есть большая часть синтаксиса SQL, доступного вам для запросов.
- Как видно из названия, эта версия SQL Server была разработана для встроенных систем, которые могут включать в себя приложения, которые хотят избежать установки SQL Express или полной версии SQL Server.
Теперь, это будет иметь те же проблемы, что и SQLite, в том, что структура данных, из того, что вы сказали нам, может быть сложной, но это будет так, даже если вы используете собственный двоичный формат.
Кстати, мне приходит в голову, что вы не пояснили, что именно подразумевается под "значительным". Если «sizeable» означает около 4 ГБ или более, очевидно, что SQL Compact не будет работать, как и множество других форматов файлов базы данных.
РЕДАКТИРОВАТЬ Я заметил, что вы добавили SQL Compact Edition в свой список "слишком тяжеловесных" после моего поста. Для SQL Compact требуется только 5 МБ ОЗУ и 2 МБ дискового пространства в зависимости от размера базы данных. Итак, проблема не в том, что это тяжеловес. Теперь, что касается второго пункта утверждения структуры данных, это будет довольно сложно. Если это так, я подозреваю, что это будет верно для любого продукта реляционной базы данных, и переход на ваш собственный двоичный формат будет еще более сложным. Учитывая это, вы можете посмотреть на нереляционные продукты баз данных, такие как mongodb .