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

Alternative tree implementation #197

Open
quoll opened this issue Jul 14, 2021 · 0 comments
Open

Alternative tree implementation #197

quoll opened this issue Jul 14, 2021 · 0 comments

Comments

@quoll
Copy link
Contributor

quoll commented Jul 14, 2021

Durable storage currently uses AVL trees. I believe that these are adequate for triple storage, due to the linear scaling factor of external blocks, but they are a major performance bottleneck for the data pool.

We need fast read operations, with good write capabilities. This is based on insertions, where triples will require all of the elements to be converted to numbers, via tree-lookups. The larger an insert, the more likely data will be found in the tree, and the less likely they will need to be inserted.

The primary structure to consider is one of the B-tree variants, though Hitchhiker trees have been popular recently.

Unfortunately, the implementations that currently use trees assume an item of data at each node, which is not the case for these trees (they have multiple items, and many B-tree implementations only have data at the leaves). This will need to be considered to update the tree protocol.

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

1 participant