DBreeze Database Version Changes.

Professional, open-source, NoSql (embedded Key/Value storage), transactional, ACID-compliant, multi-threaded object database management system for .NET 3.5> MONO.

Written in C#.

Copyright ©  2012 dbreeze.tiesky.com

Alexey Solovyov <hhblaze@gmail.com>

Ivars Sudmalis <zikills@gmail.com>

It's a free software for those, who thinks that it should be free.

Please, notify us about our software usage, so we can evaluate and visualize its efficiency.

01.086.20170522

- Parallel reads inside of one transaction to get benefits of .NET TPL [20170522]

- Nuget contains .NET Framework 4.6.2 assembly

01.085.20170515

- Set of optimizations in Text-Search-Engine and recompilation under VS2017 pure .NET Standard 1.6 project.

01.084.20170321

- DBreeze as an object database. Objects and Entities. Read docu from [20170321]

- InsertDataBlockWithFixedAddress. Read docu from [20170306]

- RandomKeySorter. Read docu from [20170319]

01.083.20170302

- Set of fixes concerning ThreadAbortException.

- Set of fixes concerning Text-Search-Engine XOR/OR searches.

Special THANX to Evita Lanka for her preliminary tests

01.082.20170204

- Enhancing functionality of DBreezeEngine.Resources. Read docu from [20170202]

01.081.20170201

- Mixing multi-parameter and a range search. Read docu from [20161214].

- Storing synchronized entities (resources) between memory and disk.Read docu from [20170201].

01.080.20161201

- Must have for those who use integrated Text-Search-Engine. Breaking changes in Text-Search-API (data structures on the disk remains the same).

- Integrated fast multi-parameter search concept with powerful query possibilities. Read docu from [20161201].

01.079.20161007

- Must have for those who use integrated Text-Search-Engine. Optimizing engine.

01.078.20160921

- Must have for those who use integrated Text-Search-Engine.

- Added external notifier of background tasks processing DBreezeEngine.BackgroundTasksExternalNotifier

01.076-077.20160829

- Must have. Fixes in text-search subsystem. Removing check of supplied search patterns - they must be checked from outside.

01.075.20160628

- Integrated document text-search subsystem (full-text/partial). (from DBreezeBased project). Read docu from [20160628]

01.074.20160329

- Added new DataStructure type: DBreeze.DataStructures.DataAsTree. Described in documentation from [20160329]

01.073-2.20160314

- Nuget package is enhanced with version for Universal Windows Platform (UWP)

01.073.20160108

- Must have. Fixed parallel reads possible exceptions in case of intensive updates.

- Added 2 more extensions ToByteArrayFromHex and ToHexFromByteArray in DBreeze.Utils.BytesProcessing

Special THANX to Christian Merat who doesn’t let to get bored the DBreeze dev team and creates comprehensive test cases.

01.072.20150827

- New data types for values: Guid and Enum

- DBreeze.DataTypes.Row.Value remembers its state after first value read out

- Lists data types from public APIs are converted into IList

01.071.20150306

- Must have. Fixed issue with table names cache in multi DBreeze engine instances environment.

Special THANX to GWBasic for his tests-based approach.

01.070.20150306

- DBreeze.dll is signed and has strong name.

01.069.20150219

- Must have. Fixed issue with possible data loss in case of usage Select (with write visibility scope) and Insert of the same entity, multiple times in one transaction.

Special THANX to Christian von Thun for his hackers luck.

01.068.20141205

- Optimization of NestedTable.Select with ReadVisibilityScope = true. RANDOM SELECT  gained speed is around 23000 reads per second, direct from HDD, with a high dispersion of keys.

01.067.20141112

- Must have. Fix of backup restoration procedure.

Special THANX to Nikolajs Valters for his agility.

01.065.20141104

- Must have. Fix of possible speed degradation while ForwardFromTo and BackwardFromTo iterations.

Special THANX to Tino Zanner for his vigilance.

01.064.20140803

- Optimized process of retrieving path to the physical files representing user tables

01.063.20140603

- Added native support of byte[] serialized/deserialized object as values.

tran.Insert<int,MyObjet>(“t1”,1,new MyObject(){ p1 =1});

var p1 = tran.Select<int,MyObject>(“t1”,1).Value.p1;

Read documentation to see usage examples with Protobuf.NET.

01.062.20140425

- Fixed, adding in one transaction the same key many times with different value sizes.

Special THANX to Uldis Vilsons for his inquisitive mind.

01.061.20131120

- RestoreTableFromTheOtherTable now can restore table without remote .rhp and .rol files.

- Must have. In case if DBIsNotOperable, now Commit() throws correspondent exception.

Special THANX to Arvis Liegenieks for his innovativeness.

01.060.20130813

- Important, hot fix of version 01.059.20130812

01.058-059.20130812

- Added for Master and Nested tables overload Insert<TKey, TValue>(string tableName, TKey key, TValue value, out byte[] refToInsertedValue, out bool WasUpdated, bool dontUpdateIfExists) (read docu).

- Added property transaction ValuesLazyLoadingIsOn (read docu for explanation).

-Docu is included.

01.057.20130811

- Added another Master and Nested tables .RemoveKey overload (RemoveKey<TKey>(string tableName, TKey key, out bool WasRemoved, out byte[] deletedValue)). It can return deleted value and notify if value existed in one round with key removal.

01.056.20130728

- Added control of the “Transaction Journal File” growth. Now it's automatically re-created,when reaches 10MB size.

01.055.20130719

- Fixed non-critical issue in SelectDirect read.

01.054.20130628

- Optimization in RAM usage of LianaTrie IO layer (FSR).

  Special THANX to don dedragao for his resourcefulness.

01.053.20130613

- Added new type of transaction, with full lock for tables (read docu).

- New docu is included.

01.052.20130608

- Recommended update for all.

- Fixed behaviour of parallel threads, while table remove with file recreation command.

- Added new method in transaction RestoreTableFromTheOtherFile. (Read docu)

- Set of optimizations of the new IO layer.

01.051.20130607

- Fixed, parallel read could fail with new IO layer.

01.050.20130529

- Needed recompilation of the projects who use DBreeze (taken away "Industrial” and “Light” mode settings. From now only “INDUSTRIAL” by default).

- Remastered disk and memory IO layers.

- Overwriting updates speed increased.

- Technical_SetTable_OverwriteIsNotAllowed usage speed is increased and size is decreased.

01.049.20130525

- Fixed InsertPart in Technical_SetTable_OverwriteIsNotAllowed mode.

- Optimized nested tables commit speed.

- Fixed UnregisterTransaction non-critical rare issue.

01.048.20130414

- Recommended update for all.

- Fixed non-critical issue in "Light mode"

- New methods for handling batch modifications in "Industrial Mode" (read documentation).

01.047.20130402

- Recommended update for all.

- Fixed critical issue (very rare, but possible, in saving of root node rollback)

- “Industrial DBreeze” pack (read documentation).

01.046.20130304

- Recommended update for all. Fix of the prev fix.

- DBreeze.Utils ByteArrays processing is enhanced with IndexOfByteArray method.

01.045.20130304

- Recommended update for all. Fixed issue in Rollback, while DBreeze Engine Dispose.

  Special THANX to krome for his in-time support.

01.044.20121207

- Recommended update for all. Fixed issue in bulk-insert storage buffer.

  Special THANX to Steven Fraleigh for his circumstantiality.

01.043.20121111

- Now it’s possible to reside different tables in different physical locations and in memory. Read documentation.

- New documentation is included.

01.042.20121101

- Added new iterators for transaction master and nested tables (read documentation):

   SelectForwardStartsWithClosestToPrefix and SelectBackwardStartsWithClosestToPrefix

- New documentation is included.

01.041.20121023

 - DBreeze now can work in-memory also  - read documentation.

 - "Out-of-the-box" bulk insert speed increased by 4 times - read documentation.

 - New documentation is included.

01.040.20121015

 - Secondary index help. Modification commands overloads - read documentation.

 - New documentation is included.

01.039.20121012

- Enhanced iterators behaviour inside of writing transactions, read documentation.

- Set of optimizations.

- New documentation is included.

01.038.20120922

- Recommended recompilation of your project after attaching new DBreeze version, if you have errors concerning manual DateTime conversion functions, please refer to documentation.

- Support of the null-able data types of fixed length inside the value virtual columns.

- Support of the fixed length text size inside the virtual columns (like nvarchar(75) NULL or varchar(20) from well-known RDBMS)

- New documentation is included.

01.037.20120913

- Recommended update for all.

- Fixed non-synchronized range selects, while active inserting thread.

- Fixed and optimized SelectForwardStartsWith/SelectBackwardStartsWith

Special THANX for the issues detection to codeplex member sfraleigh

01.036.20120910

- Changed license model to New BSD. This software is free now.

01.035.20120906

- Fixed atomicity issue (PART 2 ) inside of incremental backup (if you have already started to work with incremental backups, please, do it again from scratch).

01.034.20120905

- Fixed atomicity issue inside of incremental backup (if you have already started to work with incremental backups, please, do it again from scratch).

- Added second DBreeze constructor with the only parameter DBreezeConfiguration (namespace DBreeze), there you can specify DbreezeDataFolder and instantiate, by necessity, an incremental backup.

01.033.20120905

- Increased chunk length, inside of backup restoration routine.

- Included new documentation.

01.032.20120904

- Integrated DBreeze incremental backup/restore abilities.

- Included new documentation.

01.031.20120829

- Fixed simultaneous insert into the row partial value and nested tables issue.

01.030.20120822

- DBreeze.DataTypes.Row.LinkToValue - returns physical pointer to key/value, which can be used later in SelectDirect statement, now always returns pointer of fixed 8 bytes length.

01.029.20120802

- Added tran.SelectDataBlock and nestedTable.SelectDataBlock (alternative way to get dynamic length data block from the table)

01.028.20120802

-ChangeKey, Insert and InsertPart overloads which return physical pointer to the Key/Value (for SelectDirect usage) now return this pointer of fixed 8 bytes length. SelectDirect recognizes reference length of different sizes and automatically converts them into the trie-corresponded pointer size.

01.027.20120703

- Optimizations in rollback file behaviour.

01.026.20120629

 - Important update. ReaderWriterSpinLock showed problems in huge threads load environment and was wrapped with functions of ReaderWriterLockSlim, which is little bit slower in initialization, but quite reliable.

01.025.20120628

 - Important update. Fixed rollback write method of the root node.

 - Row has now property LinkToValue, which represents link for SelectDirect

 - Scheme has now method GetFileNameFromTableName

01.024.20120627

 - Important update. Fixed memory leak, when committing changes in more then 1 table.

01.023.20120625

 - fixed issues in InsertPart (necessary update for all who uses InsertPart - virtual column update)

01.022.20120625

- Transaction journal optimizations (created db’s will go on to work)

01.021.20120620

- Fixed parallel access issue to Transaction Journal

01.020.20120620

- Fixed Engine.Close and recreation (correction in disposing of the Scheme and TranJrnl)

01.019.20120613

- Fixed Scheme.IfUserTableExists parallel access

01.018.20120608

-Added DBreeze.Utils extension. Byte array to DateTime and back.

01.017.20120601

 - Added tran.InsertDataBlock / Row.GetDataBlock - ability to store in the row virtual column of dynamic data length.

 - Added 2 collision-safe hash-functions of common usage (64bit and 128bit) based on MurMurHash3, for storing hashes of byte array (used for fast string search)

 - New Docu included

01.016.20120529

 - Nested tables memory management. Nested Table Close(), controlling memory consumption.

 - Secondary Index. Direct key select.

 - New docu included

01.015.20120526

 - New Documentation is included

 - Added new InsertDictionary/SelectDictionary InsertHashSet/SelectHashSet for the same table level.

01.014.20120525

 - New Documentation is included

 - Random keys select optimization (works about 5 seconds in the worst keys scenario for 100K requests)

 - Added new InsertDictionary/SelectDictionary InsertHashSet/SelectHashSet - methods

01.013.20120524

- Row.GetTable(uint tableIndex) will return reference to the table stored in this row

- Fixed some visibility scope issues after adding fractal structure.

01.012.20120524

- Fixed RemoveAllKeys with "false" param then SelectForward iterator exception

01.011.20120523

- Added dataTypes char and char?

- Started testing with direct value access (instead of secondary index)

01.010.20120523

- Fixed SelectFromTo if includeStartKey = false

- Fixed RemoveAllKeys with file re-creation = true

- an optimization set

01.009.20120522

- included documentation for multi-dimensional tables

- fixed RemoveAll keys issue

01.008.20120521

- first fractal tables structure release. Docu in preparation

- fixed update value reservation slot (uint-int) issue - could damage db consistency -

  test databases must be recreated.

- fixed visibility scope issue after update.

01.007.20120518

- Fixed INSERT-SELECT-COMMIT-CLOSE-SELECT issue.

- Fixed rollback issue, after its virtualizing.

01.006.20120515

- Fixed Select Backward specific keys issue.

01.005.20120514

- Fixed Select Forward-Backward StartsWith issue.

- Fixed Add-Remove-Add key issue.

- Set of optimizations

01.004.20120509

- Fixed synchro-read visibility issue.

01.003.20120509

- Enhanced memory management while working with big amount of tables.

01.002.20120507

- Benchmarking started optimizing places while tests.

01.001.20120503

- Base version released.

Copyright ©  2012 dbreeze.tiesky.com / Alexey Solovyov / Ivars Sudmalis