freshcrate
Skin:/
Home > Databases > DBreeze

DBreeze

C# .NET NOSQL ( key value, object store embedded TextSearch SemanticSearch Vector layer ) ACID multi-paradigm database management system.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

C# .NET NOSQL ( key value, object store embedded TextSearch SemanticSearch Vector layer ) ACID multi-paradigm database management system.

README

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.
  • 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.

hhblaze@gmail.com

Release History

VersionChangesUrgencyDate
v1.138[TurboQuant ](https://docs.google.com/document/u/0/d/1IFkXoX3Tc2zHNAQN9EmGSXZGbQabMrWmpmVxFsLxLsw/pub#id.pho9yvs5p227)embedding vector compression for the Vector Layer.High6/3/2026
v1.137tran.TextRemoveAll some fixes (must have).High4/22/2026
v1.136MultiKeyConcurrentSortedDictionary in DBreeze.Utils. Set of optimizations for .NET8>. High4/3/2026
v1.135DoAsync() only for old .Net Frameworks (Removed AsyncOperations.cs from all .NET5>)Low3/13/2026
v1.134Equalizing XML, JSON serializers for different .NET versions, using integrated into .NET5> for DbMJSON, DbXML data types.Low3/4/2026
v1.132TextSearch Encryption way is simplified, re-read docu. Seems quite stable; resides 2x less space.Low2/21/2026
v1.130 Migrates text search data from an old table to a new table with optional encryption. Used for migrating un-encrypted search terms to encrypted storage. Document ID mappings are preserved (both internal and external IDs stay the same). Usage example: using (var tran = engine.GetTransaction()) { tran.SynchronizeTables("OldTable", "NewTable"); var encryptor = new DBreeze.TextSearch.WabiStreamCrypto(key, iv); tran.Support_Migration_TextSearchMigrateTable("OldTable", "NLow2/20/2026
v1.128Release 1.128 WabiStreamCrypto.GenerateKey visibility for .NET8 fixLow2/20/2026
v1.126Release 1.126 . Added grabSomeLeadingRecords for SelectBackwardFromTo/SelectForwardFromTo of the NestedTable (check Docu about grabSomeLeadingRecords )Low2/19/2026
v1.125Encryption of the database file in the Text Search Engine. TextSearchEncryptor . Read docuLow2/16/2026
v1.124Release 1.124 Vector Layer: CRITICAL FIX Protect bidirectional connection to maintain graph connectivity When entryPoint changes, we must ensure the old entryPoint remains reachable. Marking the connection as protected so SelectBestForConnecting won't remove it. Low2/11/2026
v1.1231.122-123.2026.0201 Changed signature to VectorsRemove<TVector>, some fixes of VectorRemove and VectorsGetByExternalId, new IEnumerable function VectorsGetAll (for compaction/batch processing), added ignoreDeleted in tran.Vectors selective functions, overload of Count(bool onlyDeletedCount=false) (to control possible compactions necessity where CountDeleted+Cout = overall vectors in space)Low2/1/2026
v1.122Linked to 1.121Low1/29/2026
v1.121Fixes in VectorLayer. tran.VectorsRemoveF tran.VectorsRemoveD - soft remove of vectors of types float[] double[].Low1/28/2026
v1.119DBreeze.Vectors database layer, based on multiple HNSW, moved in PROD.Low4/3/2025
v1.118Fixing [minor issues](https://github.com/hhblaze/DBreeze/issues/59)Low10/16/2024
v1.117- Optimized Vector Layer Storage. - Added Vector Layer configuration for mobile devices. Low6/29/2024
v1.116Fixed availability and initialization of DBreeze.Resources in .NET5> projectsLow5/27/2024
v1.115Completely rewritten DBreeze Vector Layer with Similarity Search and Clustering. Now it is based on KMeans++ Centroid Propagated Graph. Fast speed of inserts and search. This functionality is available in DBreeze for .NET Framework 4.72>, .NET6> .NetCoreApp3.1> .NetStandard2.1> Vector layer is in intensive beta testing. Low11/3/2023
v1.114Optimizing VectorTables CacheLow10/16/2023
v1.113Optimizing / Fixing Vector layerLow10/15/2023
v1.112DBreeze as a [Vector Database](https://docs.google.com/document/u/0/d/1IFkXoX3Tc2zHNAQN9EmGSXZGbQabMrWmpmVxFsLxLsw/pub#id.8ngwa7klbe2j) , KMeans Clustering, Finding cluster for the new documentsLow10/13/2023
v1.111DBreeze as a [Vector Database](https://docs.google.com/document/u/0/d/1IFkXoX3Tc2zHNAQN9EmGSXZGbQabMrWmpmVxFsLxLsw/pub#id.8ngwa7klbe2j) , KMeans Clustering, Finding cluster for the new documentsLow10/11/2023
v1.110DBreeze as a [Vector Database](https://docs.google.com/document/u/0/d/1IFkXoX3Tc2zHNAQN9EmGSXZGbQabMrWmpmVxFsLxLsw/pub#id.8ngwa7klbe2j) , KMeans ClusteringLow10/11/2023
v1.109DBreeze as a [Vector Database ](https://docs.google.com/document/u/0/d/1IFkXoX3Tc2zHNAQN9EmGSXZGbQabMrWmpmVxFsLxLsw/pub#id.8ngwa7klbe2j)Low10/10/2023
v1.108Fixed availability of DBEngine.Resources object in .NET6 project Low7/28/2023
v1.107Must have. TextSearchEngine.EXCLUDE fix for the documents not containing excluded text.Low12/22/2021
v1.106[Reading of the same structured keys from different tables in parallel. Multi_SelectForwardFromTo && Multi_SelectBackwardFromTo](https://docs.google.com/document/d/1IFkXoX3Tc2zHNAQN9EmGSXZGbQabMrWmpmVxFsLxLsw/pub#id.2gx4rkr326yc)Low12/13/2021
v1.105Overloads for SelectBackwardFromTo and SelectForwardFromToLow12/8/2021
v1.104.NET 6 supportLow11/18/2021
v1.103Release v1.103Low11/4/2021
v1.102On the early stage helps the programmers to put a modifying table into the transaction.SynchronizeTables statement. Can be switched off by: ```C# DBreezeEngine dbe = new DBreezeEngine(new DBreezeConfiguration { DBreezeDataFolderName = ..., NotifyAhead_WhenWriteTablePossibleDeadlock = false } ); ``` Low10/18/2021
v1.101.NET 5 support Low10/5/2021
v1.100DBreeze release v1.100. DBreeze.Utils.MultiKeyDictionary and MultiKeySortedDictionary received generic constructor for .NET 4.7.2>, .NET Standard 2.1> and .NETCore 2> https://docs.google.com/document/d/1IFkXoX3Tc2zHNAQN9EmGSXZGbQabMrWmpmVxFsLxLsw/pub#id.fuy0m3njbp83Low10/4/2021
v1.099TextSearchSubsystem. Multi-parameter plus range search fix.Low8/12/2021
v1.098Added DBreeze.Utils.MultiKeyDictionary and DBreeze.Utils.MultiKeySortedDictionary.Low2/12/2021
v1.097Fixed when multiple tran.ObjectInsert / tran.ObjectRemove of the same index and different secondary indexes.Low12/21/2020
v1.096Fixed when multiple tran.ObjectInsert / tran.ObjectRemove of the same index and different secondary indexes.Low12/18/2020
v1.095Fixed BiserDecoder when added new properties into deserializing class.Low8/12/2019
v1.094Increased speed of the text-search subsystem 2x.Low7/9/2019
v1.093Must have all users of .NetCore/.NetStandard/UWP/Portable versions. Enhanced file-system abstraction in the way implied and tested in .NET Framework version.Low2/15/2019
v1.092- Fixed possible synchronization issue when ObjectGetNewIdentity is used without tran.SynchronizeTables. - Fixed DBReeze.Utils.StringProcessing.ReplaceMultipleLow10/29/2018
v1.091DBreezeObjectInsertResult contains pointer to inserted entity https://github.com/hhblaze/DBreeze/issues/46 Integrated [Biser 1.8](https://github.com/hhblaze/Biser) (includes JSON serializer, binary Biser became faster, but [init template has to be changed](https://github.com/hhblaze/Biser/issues/1))Low5/25/2018
v1.09001.089-090.20180220 - Integrated binary serializer [Biser.NET](https://github.com/hhblaze/Biser) that increased final DLL on 8KB and now DBreeze size is 370KB. - Nuget gets compiled version for .NET Framework 4.7 Low2/20/2018
v1.089Fixes for .NetCore 2.0 .NetStandard 2.0Low8/29/2017
v1.088.3Added support of .NetCore 2.0 .NetStandard 2.0Low8/18/2017
v1.088.1NuGet has support of .netcoreapp1.1Low8/14/2017
v1.088- TextSearch with ignoring FullMatch and Contains search block by parameter ignoreOnEmptyParameters = true [20170621](https://docs.google.com/document/d/1IFkXoX3Tc2zHNAQN9EmGSXZGbQabMrWmpmVxFsLxLsw/pub#id.ntu22plrecpi) - Fixed [XmlSerializer Issue](https://github.com/hhblaze/DBreeze/issues/37)Low6/30/2017
v1.087Must have. Set of fixes and optimizations of the Text-Search-Engine and transaction parallel reads.Low6/9/2017
v1.086- Parallel reads inside of one transaction to get benefits of .NET TPL [.NET TPL](https://docs.google.com/document/pub?id=1IFkXoX3Tc2zHNAQN9EmGSXZGbQabMrWmpmVxFsLxLsw#id.c5226tn39ghw) - Nuget contains .NET Framework 4.6.2 assemblyLow5/22/2017
v1.085Optimizations of text-search-engine, compilation .NET Standard 1.6Low5/18/2017
v1.08401.084.20170321 - DBreeze as an object database. Objects and Entities. Read docu from [20170321] - InsertDataBlockWithFixedAddress. Read docu from [20170306] - RandomKeySorter. Read docu from [20170319]Low3/24/2017

Dependencies & License Audit

Loading dependencies...

Similar Packages

objectbox-javaDatabase for Android and JVM - first and fast, lightweight on-device vector databaseV5.4.2
SharpCoreDBHigh-Performance Encrypted Database for .NET 10 | Embedded + gRPC Server | Vector Search â€ĸ GraphRAG â€ĸ AnalyticsV1.8.0.0
arcadedbArcadeDB Multi-Model Database, one DBMS that supports SQL, Cypher, Gremlin, HTTP/JSON, MongoDB and Redis. ArcadeDB is a conceptual fork of OrientDB, the first Multi-Model DBMS. ArcadeDB supports Vecto26.6.1
maui-labsExperimental and pre-release tools for .NET MAUImain@2026-06-03
longbowApache Arrow Flight clustered vector cache for high throughput Agent memory sharing 0.2.1

More in Databases

milvusMilvus is a high-performance, cloud-native vector database built for scalable vector ANN search
WeKnoraLLM-powered framework for deep document understanding, semantic retrieval, and context-aware answers using RAG paradigm.
ai-real-estate-assistantAdvanced AI Real Estate Assistant using RAG, LLMs, and Python. Features market analysis, property valuation, and intelligent search.
alibabacloud-adb20211201Alibaba Cloud adb (20211201) SDK Library for Python