Home
Softono
DBreeze

DBreeze

Open source BSD-2-Clause C#
576
Stars
62
Forks
1
Issues
39
Watchers
2 weeks
Last Commit

About DBreeze

DBreeze is a professional, open-source, multi-paradigm database management system written in C for the entire .NET family. As an embedded NoSQL solution, it functions as a key-value store, object store, and provides advanced capabilities including text search, semantic search, and vector similarity search for AI and LLM agent applications. The system is fully ACID compliant, ensuring transactional integrity with robust multi-threading and built-in deadlock resolution. It is designed for high performance and portability across diverse environments, supporting servers, desktops, mobile devices, and Internet of Things (IoT) platforms. DBreeze runs on Windows, Linux, macOS, Android, iOS, and various .NET implementations including .NET 5, .NET Framework 3.5, .NET Core, .NET Standard, Xamarin, Universal Windows Platform, and Unity. It requires no external library dependencies, making it a lightweight and self-contained assembly ideal for embedded use cases ranging from small mobile apps to large-scale production sy

Platforms

Web Self-hosted Windows Android

Languages

C#

Links

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 nosql-database.org, Awesome .NET Core, awesome-dotnet
  • Read "Release notes" document to get latest DBreeze news.

Its homepage is http://dbreeze.tiesky.com or https://github.com/hhblaze/DBreeze

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 HNSW Graphs and TurboQuant vectors compression.
  • 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.

All NuGet DLLs are digitally signed with anti-tampering protection.

[email protected]