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

Refactor DB Backends #1013

Open
moul opened this issue Aug 1, 2023 · 1 comment
Open

Refactor DB Backends #1013

moul opened this issue Aug 1, 2023 · 1 comment
Assignees
Labels
🐞 bug Something isn't working 🌟 improvement performance improvements, refactors ...

Comments

@moul
Copy link
Member

moul commented Aug 1, 2023

Regarding the current and past discussions: #1012, #1008, #130, #305, #131, #196, #197, #1009.

We've noticed some unused and potentially broken backend code in our project. Despite considering PebbleDB as a better replacement, we are still using GoLevelDB.

When we attempt to integrate Gno with other platforms like WASM or build it with new constraints, we encounter issues related to Cgo or advanced OS features used by those dependencies.

We have an excellent tm2/pkg/db library that abstracts the database concept and enables easy configuration. However, instead of providing configurable flags, we've hardcoded the backend selection in multiple places.

Here's my suggested plan:

  1. Ensure that our current target environments use sensible defaults (e.g., GoLevelDB everywhere or different backends for computers and WASM) - already in progress in feat: make gnovm wasm-friendly #1012.
  2. Add any missing drivers, including Pebble, and conduct thorough benchmarks and stability checks.
  3. Switch the default to the best new drivers for a trial period.
  4. Clean up all other unused backends.

This plan aims to improve database backend handling and enhance overall project stability and performance.

@thehowl
Copy link
Member

thehowl commented Dec 20, 2024

I think it makes sense to understand ahead of the launch at least if it makes sense to switch over to pebble or something else, with benchmarks. I assigned @ajnavarro as our in-house DB magician, if he's willing to take it up.

@thehowl thehowl mentioned this issue Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 bug Something isn't working 🌟 improvement performance improvements, refactors ...
Projects
Status: 🔵 Not Needed for Launch
Development

No branches or pull requests

3 participants