Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A somewhat more accurate title, in case it saves someone else the time I just spent: "RedixDB - a Redis frontend to the Badger key-value store".


So, mysql is a frontend to InnoDB? Cockroach is a frontend to RocksDB?

Note: Redix has a pluggable storage engine, the current engine is "badgerdb", the next is "bolt" and it is already integrated and I'll release it soon.


So, mysql is a frontend to InnoDB?

I would put it the other way around: InnoDB is a backend for MySQL. But an SQL database is far more complicated than a key-value store, and has a lot of "middle end" between the "talk to the client" front end and the "store stuff on disk" back end.

I'm not saying that RedixDB isn't interesting -- having a network front-end to Badger seems like it would extremely useful for most people who want to use Badger. It's just that I spent a while digging through the code trying to figure out where the back end was and what data structures you were using, only to discover that you didn't have a backend (or rather, you're using a pre-existing one).


Second that. It would help if you included on the website some info about the technical implementation. That would help instill confidence in the solution.


None of these backends currently fsync() correctly on MacOS, due to a Go bug fixed in 1.12.


To split hairs, the bug is in MacOS - its fsync() does not flush data to stable storage. Go 1.12 includes a workaround for this MacOS bug.


To split further, it's a MacOS design flaw, with a published workaround. It is a bug to fail to use the workaround :-)


I don't know if Apoke really acknowledges it as a bug or flaw. Their man page for fsync reads like an intentional misunderstanding of fsync semantics.


There is also Facebook's MyRocks which is MySQL frontend with RocksDB backend. It has lower write amplification than InnoDB, which is the main reason why it was created.


RedixDB appears to provide a lot of new functionality that is not available to a plain Badger database.

I disagree that Badger plays such a big part in this project that it needs to be included in the title. Badger is only the storage component and it can be easily swapped out for an alternative.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: