3 ms·
I've used Tokyo Tyrant / Tokyo Cabinet and Kyoto Tycoon / Kyoto Cabinet in production in my previous job in 2018. There was a need to cache a large number of c
by romwell 8y ago
I've used Tokyo Tyrant / Tokyo Cabinet and Kyoto Tycoon / Kyoto Cabinet in production in my previous job in 2018.
There was a need to cache a large number of computation results, hundreds of gigabytes, over network, for a scientific computing process that could run for days.
The cache would not fit in memory, so the KV store needed to be persistent.
I wrote a caching layer with switchable backend, with an API inspired by KT, so that plugging Kyoto Tycoon in would be easy.
Tested with TT, KT and Aerospike. In the end, went with either TT or KT, both being stable, easy to use, performant, and compiling on something as old as RH5 (which some of our clients were still running, apparently).
Compared to KT, Aerospike had more features (ssd optimization, sharding) when used as a KV store, but we didn't need them.
In the world of persistent KV-stores there have not been that many options as of last year. Kyoto Tycoon is feature-complete and works well.
That's why you don't hear many people talking about it: it just works, there's not much to talk about.
And the source/API/documentation it's a work of art.
- continuations 8y agoHow did KT's performance compare to that of Aerospike's?
- romwell 8y agoSadly, I don't recall off the bat, and I don't have access to those files anymore. IIRC Aerospike would be faster initially because it keep a lot in RAM, but they'd be about the same once the DB fills up you can't get away with that. In the end, either network or disk would be the bottleneck for the workload I tried it with.