Live data from Hacker News

TurboKV: Insanely fast Rust key-value store

github.com

41–50 of 90 posts

Re: TurboKV: Insanely fast Rust key-value store

#41
post #23

> DbOptions::durable() > Appended to the WAL without a per-write sync So… it’s not durable? Durable doesn’t mean “survives a process restart”, it means “durably saved to persistent storage”. For example, this “durable” mode wouldn’t survive power loss.

Are we back to MongoDB -- no fsync() but webscale speed?

webscale… https://youtu.be/b2F-DItXtZs?is=wFhGujRHma3b7VLp

Re: TurboKV: Insanely fast Rust key-value store

#44
post #20

Every programmer eventually creates own db: https://github.com/antonmedv/medb

A file-backed hashtable isn't really a DB.

If someone asked me what a DB is, I'd probably start the conversation with the exact description "a file-backed map, like a hashmap".

Re: TurboKV: Insanely fast Rust key-value store

#45

Off topic, but why is tokio still independent of the rust async runtime? It seems pretty ubiquitous yet not a part of the core rust libs.

The same reason as ever. Not everyone wants to use the same runtime.

Sure, but now if my rust application isn't using tokio I have to include it as a new dependency because the author of this lib decided to use it as his async runtime?

I'm not trying to be pedantic, but this split over async runtimes was what originally turned me off of rust years ago and it still seems to be an issue.

Re: TurboKV: Insanely fast Rust key-value store

#46

> DbOptions::durable() > Appended to the WAL without a per-write sync So… it’s not durable? Durable doesn’t mean “survives a process restart”, it means “durably saved to persistent storage”. For example, this “durable” mode wouldn’t survive power loss.

This is surprisingly common, from what I can tell.

Re: TurboKV: Insanely fast Rust key-value store

#49

Earlier quoted context omitted.

The same reason as ever. Not everyone wants to use the same runtime.

Sure, but now if my rust application isn't using tokio I have to include it as a new dependency because the author of this lib decided to use it as his async runtime? I'm not trying to be pedantic, but this split over async runtimes was what originally turned me off of rust years ago and it still seems to be an issue.

I'm using async on esp32 with embassy, for instance, where there's simply no room and no need for a runtime as complex as tokio.

Re: TurboKV: Insanely fast Rust key-value store

#50
post #36

Earlier quoted context omitted.

Word choice matters. Defaults matter. People will go "well it says durable right here" and while arguably, yes, they should RTFM, it would still be great if tool-builders did not set the shotgun's default state to State::AT_FOOT. It would be nice if every paragraph of technical writing that I have to do need not be burdened by a thousand asterisks of "durable in this context means something other than durable".

>arguably, yes, they should RTFM Agreed. Good design is when the things do what you expect them to do without reading the manual, don't reuse wording with other meaning in the wrong way. That way if you do encounter nee wording, you know you should read the manual.

https://en.wikipedia.org/wiki/Principle_of_least_astonishmen...
Post reply on HN