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

Build a resilient, efficient and user-friendly KV store #89

Open
2 of 16 tasks
zz-jason opened this issue May 31, 2024 · 2 comments
Open
2 of 16 tasks

Build a resilient, efficient and user-friendly KV store #89

zz-jason opened this issue May 31, 2024 · 2 comments
Labels
help wanted Extra attention is needed

Comments

@zz-jason
Copy link
Owner

zz-jason commented May 31, 2024

Goals

Currently, recovery from disk and continuous checkpoint is not fully supported, write-ahead logs may missing or incorrect, and tests are needed to guarantee the correctness. The goal of this TODO list is to make the project:

  • Resilient, feel confident to be used in production
  • Efficient: especially for read-mostly workloads
  • User-friendly: easy to integrate, for example, as a storage extension to Redis, MongoDB, PostgreSQL, MySQL

You can join the slack workspace for discussion, any help is welcomed and appreciated!

Logging and recovering

  • Recover from btree merge
  • Recover from BasicKV remove/update/insert
  • Remove transaction-related fields from BasicKV wal entries
  • Support checkpoint

MVCC Transaction and concurrency control

Tests

Checks

Usability

  • Build a simple key-value REPL playground, such as Redis.

Misc

  • Build with clang
  • Cache workflow dependencies to speed up CI
  • Is there a better way to replace setjmp/longjmp since it's error-prone, how about c++20 stackless coroutine (Coroutines (C++20), lewissbaker/cppcoro)?
@zz-jason zz-jason added the help wanted Extra attention is needed label May 31, 2024
@NewtonVan
Copy link

I'm also interested in this project & I also want to participate in it. But I'm a rookie in this field. I wish we could have more discussion about this.

@zz-jason
Copy link
Owner Author

zz-jason commented Jun 18, 2024

@NewtonVan Welcome! Which part are you interested in? You can find us in the slack workspace for discussion!

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

No branches or pull requests

2 participants