You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BadgerDB is currently used as a general KVStore through Datastore interface. Many components write to it in our project - self-written and dependencies.
BadgerDB has its advantages, and it is really performant for write-heavy loads. However, it's poorly documented, barely maintained, and complicated. Understanding what config values are doing in-depth requires reading an untrivial amount of code, and passing this knowledge over to other team members is challenging. Additionally, we don't expect write-heavy loads for the general store, so we can't fully take advantage of Badger's pros.
Instead, we should consider a simpler and more read-oriented yet embeddable KVStore, which will likely use B+tree or Bitcask instead of LSM with complex compactions that are better documented and actively maintained.
This discussion was converted from issue #2980 on December 01, 2023 11:10.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
BadgerDB is currently used as a general KVStore through Datastore interface. Many components write to it in our project - self-written and dependencies.
BadgerDB has its advantages, and it is really performant for write-heavy loads. However, it's poorly documented, barely maintained, and complicated. Understanding what config values are doing in-depth requires reading an untrivial amount of code, and passing this knowledge over to other team members is challenging. Additionally, we don't expect write-heavy loads for the general store, so we can't fully take advantage of Badger's pros.
Instead, we should consider a simpler and more read-oriented yet embeddable KVStore, which will likely use B+tree or Bitcask instead of LSM with complex compactions that are better documented and actively maintained.
Candidates in no particular order:
Beta Was this translation helpful? Give feedback.
All reactions