-
Notifications
You must be signed in to change notification settings - Fork 137
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
Consider removing badgerdb #260
Comments
In some testing I did a couple months ago using Cosmos-SDK v0.45, our blockchain was unusable with During that testing a couple months ago, I found The drawback to |
Furthermore badger DB is abandonware. |
And boltdb isn't? Benchmarks: https://github.com/alphayan/kvbench/tree/ae37778240eba3d48a2c3ffeae1c33d00a63e875 I think taking the CockroachDB approach of customizing your own backend makes the most sense as Pebble is hardly blockchain specific. |
It seems unlikely that badger will continue to be maintained in the future.
I think this leaves us (tendermint, tm-db, cosmos-sdk) with few reasonable choices for databases moving forward:
These made the cut because all are high performance key value stores written in native go. If I had to choose between them, my choice would be pebbledb, but @marbar3778 notes that geth uses goleveldb, but quite differently from how we do it. Most notably, goleveldb in geth splits the store into a long-term (generally read only) section and short term (more changes happen here) section. This is an oversimplification of their approach but I think that this is notable moving forward.
The text was updated successfully, but these errors were encountered: