Skip to content

C# .NET NOSQL ( key value store embedded ) ACID multi-paradigm database management system.


Notifications You must be signed in to change notification settings


Repository files navigation

DBreeze Image of DBreeze Database

Image of Build Image of Build Image of Build NuGet Badge Image of Build

DBreeze Database is a professional, open-source, multi-paradigm (embedded Key-Value store, objects, NoSql, text search, multi-parameter search, embedding vector database, vector similarity search / clustering etc.), multi-threaded, transactional and ACID-compliant data management system for .NET5> / .NET Framework 3.5> / Xamarin MONO Android iOS / .NET Core 1.0> / .NET Standard 1.6> / Universal Windows Platform / .NET Portable / UNITY / CoreRT

...for servers, desktops, mobiles and internet-of-things... Made with C#

  • It's free software for those who believe it should be free.
  • It has been used in our own production environment since June 2012.
  • Follow the project, to be in touch with the recent optimizations and enhancements.
  • DBreeze via NuGet since January 2014.
  • DBreeze for .NETCore, CoreRT, .NET Standard / UWP (Universal Windows Platform), .NET Framework grab via NuGet.
  • Works on Linux, Windows, OS X. Via Xamarin on Android, iOS.
  • DBreeze is listed in, Awesome .NET Core, awesome-dotnet
  • Read "Release notes" document to get latest DBreeze news.

Its homepage is or

Key features:

  • Embedded .NET family assembly, platform independent and without references to other libraries.
  • Multi-threaded, ACID compliant, with a solution for deadlocks resolving/elimination, parallel reads and synchronized writes/reads.
  • No fixed scheme for table names (construction and access on the fly).
  • Tables can reside in mixed locations: different folders, hard drives, memory, in-memory with disk persistence.
  • Liana-Trie indexing technology. Database indexes (keys) never need to be defragmented. Speed of insert/update/remove operations doesn't change during the time.
  • Ability to access Key/Value pair of a table by physical link, that can economize time for joining necessary data structures.
  • No limits for database size (except "long" size for each table and physical resources constraints).
  • Low memory and physical space consumption, also while random inserts and updates. Updates reside the same physical space, when possible or configured.
  • High performance of CRUD operations. When you need, unleash DBreeze power and get 500000 key/value pairs insert or 260K updates per second per core into sorted table on the hard drive of standard PC (benchmark in year 2012).
  • High speed of random keys batch inserts and updates (update mode is selectable).
  • Range selects / Traversing (Forward, Backward, From/To, Skip, StartsWith etc). Remove keys, change keys.
  • Keys and values, on the low level, are always byte arrays.
  • Max. key size is 65KB, max. value size is 2GB. Value can be represented as a set of columns, where can be stored data types of fixed or dynamic length. Every dynamic datablock (BLOB) can be of size 2GB.
  • Rich set of conversion functions from/to between byte[] and other data types.
  • Nested / Fractal tables which can reside inside of master tables values.
  • Incremental backup/restore option.
  • Integrated text-search subsystem (full-text/partial).
  • Integrated object database layer.
  • Fast multi-parameter search subsystem with powerful query possibilities.
  • Integrated Vector Database Layer / Similarity Search Engine / Clustering, based on KMeans++ Centroids Propagated Graph.
  • Integrated binary and JSON serializer Biser.NET
  • High Availability, Redundancy and Fault Tolerance via Raft.NET
  • DBreeze is a foundation for complex data storage solutions (graph/neuro, object, document, text search etc. data layers). Please, study documentation to understand all abilities of DBreeze.

Special thanx:

"Free code signing provided by, certificate by SignPath Foundation" Signed DLLs are located separately.