jankotek / jankotek/mapdb

BTreeMap compaction

Open
#545 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

4.0 document enhancement
Dominant language
Java
Stars
5.1k
Forks
877
PR merge metrics
No merged PRs in 30d

Description

Hello Jan,

We recently started to use BTreeMap in our project and tested its performance according to this note Massive deletion causes empty nodes and performance lost. We've found that insertion after massive deletion works very slow. But we're very interested in using this map and going to create compaction algorithm for it. We believe that you already have thoughts about its implementation. Could you please share them with us? some links to possible algorithms and your points to the code would be very helpful.

Kind regards,
Mikhail

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the BTreeMap implementation and the referenced note, focusing on how massive deletion affects later insertion performance. Identify the compaction behavior and any relevant existing tests or entry points before proposing an algorithm; done would mean restoring acceptable insertion performance after large deletions with coverage for that scenario.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
database
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.