Skip to content

Releases: fjall-rs/lsm-tree

1.1.1

25 May 18:42
Compare
Choose a tag to compare
  • [fix] Fix FIFO compaction

1.1.0

25 May 13:40
Compare
Choose a tag to compare
  • [feat] Allow registering external memtable for scan ops (used for ephemeral transaction write set -> RYOW)
  • [perf] Optimize finding items in disk blocks using binary search
  • [refactor] Refactor merge iterator

1.0.5

24 May 12:21
Compare
Choose a tag to compare
  • [perf] Rewritten segment reader - improves scan performance by 25% (uncached) to 50% (cached) + less allocations
  • [test] Add more tests
  • [misc] Internal refactors

1.0.4

21 May 16:38
Compare
Choose a tag to compare
  • [critical] Make flushing & compacting truly atomic by preventing in-memory manifest to be updated before fully persisting
  • [fix] Make segments visible again if Merge compaction fails
  • [chore] Internal refactoring

1.0.3

20 May 11:11
Compare
Choose a tag to compare
  • Allow Levelled Compaction to move down non-overlapping segments
  • Remove noisy debug log
  • Add more benchmarks
  • Internal refactors

1.0.2

17 May 20:17
Compare
Choose a tag to compare
  • Fix memtable range scan upper bound during snapshot

1.0.1

17 May 17:14
Compare
Choose a tag to compare
  • Fix tree loading when segments folder is missing (prevented CI pipeline from succeeding)

1.0.0

17 May 16:49
Compare
Choose a tag to compare
  • [breaking] Finalized disk format V1
  • [breaking] Tree & snapshot iterators now return a impl DoubleEndedIterator, not an intermediary struct
  • Add more tests
  • Internal refactors

0.8.0

13 May 17:14
Compare
Choose a tag to compare
0.8.0 Pre-release
Pre-release

Breaking

  • [breaking] Changed format of block handles to store the last key of
    each block
  • [breaking] Move Tree level_ratio from persisted to ephemeral config
  • [perf] Improve point read performance
  • [feat] Added ::new Constructor to STCS compaction strategy
  • [perf] Use binary search during point reads to find segments inside disjoint levels
  • [misc] Added benchmark
  • [misc] Added more tests
  • [misc] Internal refactors

0.7.0

11 May 14:41
Compare
Choose a tag to compare
0.7.0 Pre-release
Pre-release
  • Rewrote block index, fixes skewed MVCC (versions of items that span multiple blocks) scenarios
  • Remove heap allocation from read hot path
  • Improved read performance when using Levelled compaction (#26)
  • Dropped serde, serde_json, chrono, rand and fs_extra dependencies (#25)
  • Changed remaining file formats (config.json, meta.json, levels.json) to be binary encoded, in preparation of a stable disk format in 1.0.0
  • Simplified disk segment IDs to be u64
  • Internal refactors
  • Added more tests and benchmarks