Commit Graph

202 Commits

Author SHA1 Message Date
Ahmed Yasin Koculu d4d11fae95 Increase capacity starting from current capacity. 2022-08-17 17:12:36 +02:00
Ahmed Yasin Koculu 900e52c81a Adds latest benchmark report. 2022-08-17 17:06:33 +02:00
Ahmed Yasin Koculu a791bbc4d9 Adds auto performance tuning: Increase read cache capacity when it is needed. 2022-08-17 16:09:13 +02:00
Ahmed Yasin Koculu c9761b20e5 Adds LRUBlockCache. 2022-08-17 14:23:07 +02:00
Ahmed Yasin Koculu 52d83d7f0d Use FileStreamProvider abstraction in DurableFileWriter. 2022-08-17 13:37:31 +02:00
Ahmed Yasin Koculu 5780c3d29f Disable debug mode node ids. 2022-08-17 05:55:52 +02:00
Ahmed Yasin Koculu 60ad23c93c Converts read-only segments to lock-free BTree. 2022-08-17 05:35:06 +02:00
Ahmed Yasin Koculu ae45c9e07f Code cleanup. (Apply intellisense suggestions.) 2022-08-17 02:19:12 +02:00
Ahmed Yasin Koculu c211e2d250 Fixes missing logger and incorrect replacement path issues. 2022-08-17 02:09:36 +02:00
Ahmed Yasin Koculu b2bd785d2c Adds Logger.. 2022-08-17 01:36:43 +02:00
Ahmed Yasin Koculu 7b94263bb2 Drops compressed string serializer. (block compression is the right way to compress strings) 2022-08-17 00:04:37 +02:00
Ahmed Yasin Koculu 25e38c244e Adds support for null keys and values. 2022-08-17 00:01:15 +02:00
Ahmed Yasin Koculu d7aa5dfcb0 Adds read-only mode. 2022-08-16 23:31:44 +02:00
Ahmed Yasin Koculu ab939ecd6d Drops unused SkipList related code and tests. 2022-08-16 23:18:19 +02:00
Ahmed Yasin Koculu d53b9566f9 Adds readonly flag to Btree. Reverts leaf node mode. 2022-08-16 23:11:46 +02:00
Ahmed Yasin Koculu 62d43e2f6a Load readonly segments in parallel. 2022-08-16 20:05:04 +02:00
Ahmed Yasin Koculu b96ff8c006 Adds BTree leaf node with op index support. 2022-08-16 19:43:13 +02:00
Ahmed Yasin Koculu 6f2fa15524 Updates BTree namespaces. 2022-08-16 17:49:51 +02:00
Ahmed Yasin Koculu 5bacf5f21c Renames Btree folder. 2022-08-16 17:48:07 +02:00
Ahmed Yasin Koculu f1605f33a1 Use memory stream in log replacement. 2022-08-16 17:46:59 +02:00
Ahmed Yasin Koculu a039676d27 Improves transaction log compaction crash-resilience. 2022-08-16 00:09:37 +02:00
Ahmed Yasin Koculu 87db8b1a0a Adds file path property to the abstract file stream. 2022-08-16 00:07:44 +02:00
Ahmed Yasin Koculu 59dfaf5aec Improves Lazy WAL transaction log compaction performance. 2022-08-16 00:07:08 +02:00
Ahmed Yasin Koculu 59b26e6a54 Updates readme. 2022-08-15 20:28:10 +02:00
Ahmed Yasin Koculu 649343fd5d Adds snapshot iterator support. 2022-08-15 19:41:21 +02:00
Ahmed Yasin Koculu 086b51c8ca Drop debug trace logs. 2022-08-15 18:03:26 +02:00
Ahmed Yasin Koculu fb355758e6 Adds deletable comparer 2022-08-15 17:44:28 +02:00
Ahmed Yasin Koculu 6ace395e52 Revert incorrect index collision handling which would slow down read iterations. 2022-08-15 12:51:55 +02:00
Ahmed Yasin Koculu 96832e3d1e Improve cache index collision handler. 2022-08-15 12:26:57 +02:00
Ahmed Yasin Koculu fcefec7f2a Adds readonly segment count threshold to start merge operation. 2022-08-15 12:08:11 +02:00
Ahmed Yasin Koculu 4bae0ea4de Adds circular block cache with minimum cache life span. 2022-08-15 11:58:12 +02:00
Ahmed Yasin Koculu f20572d1fd Fixes internal BTree key duplication. 2022-08-15 03:47:39 +02:00
Ahmed Yasin Koculu d8caaf11cb Fixes leaf node split link replacement race condition with neighbours. 2022-08-15 01:27:02 +02:00
Ahmed Yasin Koculu 2f0f6aa574 Adds ZoneTree version information to the db meta file. 2022-08-14 19:24:46 +02:00
Ahmed Yasin Koculu c80dcb4976 Adds validation to iterator tests. 2022-08-14 19:16:47 +02:00
Ahmed Yasin Koculu 34e2a3f2f8 Improves human readable meta file crash-resillience. 2022-08-14 15:26:00 +02:00
Ahmed Yasin Koculu 9b3aeb6ff2 Remove useless loop. 2022-08-14 01:02:31 +02:00
Ahmed Yasin Koculu e57582a8f9 Code cleanup. 2022-08-14 00:36:24 +02:00
Ahmed Yasin Koculu 088fe5ca32 Fixes iterator jumps. Improves iteration speed. 2022-08-14 00:07:55 +02:00
Ahmed Yasin Koculu 7735ee5918 Improves benchmark tool. 2022-08-13 19:37:18 +02:00
Ahmed Yasin Koculu f14e82b568 Corrects namespaces. 2022-08-13 15:52:47 +02:00
Ahmed Yasin Koculu 07f4765c8f Adds default serializers and comparers for .net primitives. 2022-08-13 15:51:59 +02:00
Ahmed Yasin Koculu 270edcf45a Fixes CompressedFileStream tail writer sync issue. 2022-08-13 15:26:16 +02:00
Ahmed Yasin Koculu 3c579e90ff Feature/bplus tree dev (#6)
* Adds thread-safe B+Tree. (draft)

* Reorganize class namespaces.

* Adds multiple lock mode support  to the B+Tree.

* Rename single-threaded B+Tree.

* Selected shorter name for B+Tree.

* Sets B+Tree Lock Mode configurable.

* Fix reverse iteration split node sync issue.

* Updates benchmark result.

* Update benchmark configuration.

* Adds WAL sequence index to give WAL writes freedom to not be coupled with database operations.
2022-08-13 04:52:59 +02:00
Ahmed Yasin Koculu 21b4360aed Dont waster resources to merge null disk segment. 2022-08-11 18:35:12 +02:00
Ahmed Yasin Koculu 58496fa9fc Fixes decompressed block cache limit 1 issue. 2022-08-11 18:32:39 +02:00
Ahmed Yasin Koculu 9ec7ae018b Adds thread-safe BplusTree. 2022-08-10 09:22:03 +02:00
Ahmed Yasin Koculu e8791c1d60 Improve BplusTree API. 2022-08-10 05:20:15 +02:00
Ahmed Yasin Koculu 414c12a25d Adds BplusTree leaf iteration support. 2022-08-10 04:39:11 +02:00
Ahmed Yasin Koculu 06c3774995 Reduce method count in bplustree. 2022-08-10 02:55:27 +02:00