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

Create B+ Tree indexed database implementation #27

Open
maxfierrog opened this issue Apr 24, 2024 · 11 comments
Open

Create B+ Tree indexed database implementation #27

maxfierrog opened this issue Apr 24, 2024 · 11 comments
Assignees
Labels
feature New feature or request help wanted Extra attention is needed

Comments

@maxfierrog
Copy link
Member

maxfierrog commented Apr 24, 2024

Multi-table, single-file database that supports concurrent and isolated transactions on different tables.

See design document: https://docs.google.com/document/d/1VFVDdnb-YiU1K4mhw3I2vw4c6dSlKFYFfK-pP5ONVzc

Recommended Courses (UC Berkeley)

If you can't tell whether this is out of your scope, we recommend the following experience:

  • CS 61B (minimum)
  • CS 61C (minimum)
  • CS 186
  • CS 162
@maxfierrog maxfierrog added feature New feature or request help wanted Extra attention is needed labels Apr 24, 2024
@maxfierrog maxfierrog assigned maxfierrog and unassigned maxfierrog Apr 24, 2024
@maxfierrog maxfierrog changed the title Create B+ Tree key-indexed database implementation Create B+ Tree indexed database implementation Apr 25, 2024
@BnjmnZmmrmn
Copy link

can i be assigned & get permissions to link a pr

@BnjmnZmmrmn
Copy link

https://github.com/nimrodshn/btree - stale (maybe?) project for bplus tree written in rust, might contain useful info

@maxfierrog
Copy link
Member Author

https://github.com/nimrodshn/btree - stale (maybe?) project for bplus tree written in rust, might contain useful info

Great find, looking at their repo makes me feel like this is super achievable in a semester or two.

@BnjmnZmmrmn BnjmnZmmrmn self-assigned this Sep 11, 2024
@BnjmnZmmrmn BnjmnZmmrmn linked a pull request Sep 11, 2024 that will close this issue
@BnjmnZmmrmn
Copy link

BnjmnZmmrmn commented Sep 11, 2024

how can link pr that doesnt necessarily close issue, just progresses it? or does closing issue happen manually after pr merge

@maxfierrog maxfierrog linked a pull request Sep 11, 2024 that will close this issue
@maxfierrog
Copy link
Member Author

The semantics around issues, PRs, and branches are pretty weird. There is no way to do what we want here. Let's keep a 1 : 1 relationship between issues and PRs, and have potentially many sub-branches that work on different things on the PR.

For example, let's call the PR that solves this issue "B+ Tree Index Implementation," and keep using dev-bplusdb as its corresponding branch. We can then make sub-branches if we want to have that notion of gradual progress.

Speaking of, let's all carry out development on dev-bplusdb without forking the repo. Of course it's fine to fork it for self-experimentation, but working on the on-repo branch makes it easier to collaborate.

Lmk if questions / concerns

@BnjmnZmmrmn
Copy link

BnjmnZmmrmn commented Sep 11, 2024

sg for most part
wrt to development i feel forking allows for review of individual contributions to dev-bplusdb. can i still create prs as i did for the skeleton, or would u rather i just push to dev-bplusdb without review @maxfierrog

@BnjmnZmmrmn
Copy link

skeleton created - #35

@maxfierrog
Copy link
Member Author

maxfierrog commented Sep 11, 2024

sg for most part wrt to development i feel forking allows for review of individual contributions to dev-bplusdb. can i still create prs as i did for the skeleton, or would u rather i just push to dev-bplusdb without review @maxfierrog

that makes sense, i do appreciate that aspect of forking

feel free to do what works best for you (PR to dev-bplusdb either from your fork or from a sub-branch you create on this repo). feel free to also push to it without review as you see fit -- i only really want to review changes on dev (that being said, reviewing significant changes made to dev-bplusdb will make that a lot easier down the road)

ultimately it's subjective ofc, but i'm always willing to do reviews, and i totally trust your judgement wrt what is most efficient in terms of productivity

@BnjmnZmmrmn
Copy link

sg thanks max!

@BnjmnZmmrmn
Copy link

bplustree api skeleton - #36

@BnjmnZmmrmn BnjmnZmmrmn modified the milestone: persistent database backed by bplus tree Sep 13, 2024
@BnjmnZmmrmn BnjmnZmmrmn added this to the v1.0.0 release milestone Sep 30, 2024
@maxfierrog
Copy link
Member Author

Created high-level design document outlining testable modules:

https://docs.google.com/document/d/1VFVDdnb-YiU1K4mhw3I2vw4c6dSlKFYFfK-pP5ONVzc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request help wanted Extra attention is needed
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants