Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Balanced binary search tree: replace the tree with a rather huge array for read-only accesses #520

Open
JohannesLichtenberger opened this issue Aug 24, 2022 · 3 comments

Comments

@JohannesLichtenberger
Copy link
Member

JohannesLichtenberger commented Aug 24, 2022

Meaning a more cache-line friendly variant for a static balanced binary search tree (RedBlack tree). Usually you'd use an array representation...

As an alternative to storing this search tree structure for our secondary indexes in our trie (the RedBlack tree nodes are stored in the leaf nodes of our tries) and fully reconstructing it in memory, we could add a persistent adaptive radix trie that replaces the trie and the RedBlack tree. The adaptive radix trie (ART) should be versioned in the same manner as our main document trie.

@sudip-unb
Copy link

@JohannesLichtenberger I am interested to work on this task.

@JohannesLichtenberger
Copy link
Member Author

Maybe I had a crazy thought. Would it make sense to store and update a redblack tree in the single read-write trx per resource, but for read-only trx simply use another cache-friendly index structure and to build this structure from the stored redblack tree? Maybe reconstruction would be costly, hmm

@JohannesLichtenberger
Copy link
Member Author

@sudip-unb still interested? Haven't heard from you...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants