Re:Show HN: Badger – an embeddable, persistent key-value sto...
by mrjn on Sunday June 25, 2017 @11:21PM
(#14633826)
The reason we want to KISS is to ensure a solid, robust, and performant layer of storage, that other projects can use to build their transactional versions, etc.
One can take Badger and build a transactional layer above it, and it would still be below the application layer.
Re:Show HN: Badger – an embeddable, persistent key-value sto...
by maxpert on Monday June 26, 2017 @12:05AM
(#14633998)
> The reason we want to KISS is to ensure a solid, robust, and performant layer of storage, that other projects can use to build their transactional versions, etc.
Then comparing it to Rocks DB is unfair (infact title of this post is misleading). Stuff like transactions and MVCC is way complicated than it sounds.
Re:Show HN: Badger – an embeddable, persistent key-value sto...
by mrjn on Monday June 26, 2017 @12:18AM
(#14634047)
It's not. The comparison is using the same APIs as provided by LevelDB/RocksDB. Not the transactional ones mentioned below.
TransactionDB* txn_db; Status s = TransactionDB::Open(options, path, &txn_db);
Transaction* txn = txn_db->BeginTransaction(write_options, txn_options); s = txn->Put(“key”, “value”); s = txn->Delete(“key2”); s = txn->Merge(“key3”, “value”); s = txn->Commit(); delete txn;
Re:Show HN: Badger – an embeddable, persistent key-value sto...
by foodie_ on Sunday June 25, 2017 @11:32PM
(#14633869)
Why would one want to though? (edit) as in why choose this and invest hundreds (thousands?) of development hours doing so. What ROI would support this?
Re:Show HN: Badger – an embeddable, persistent key-value sto...
by true_religion on Sunday June 25, 2017 @11:58PM
(#14633977)
Because you were already committed to building a database yourself, so RockDB saves you time in building the base layer.
Transaction support comes with a set of performance compromises, and different companies may want to make different compromises.
Not sure how I feel about that philosophy. Transaction support is extremely complex and should be left to a storage engine if ever possible.
What is the benefit of this over something like Berkeley DB?