Matthias Endler
๐ค SpeakerAppearances Over Time
Podcast Appearances
Because Rust is so fast, you can afford to simplify operations by doing more at startup, but it's still performing.
So you can cut some corners thanks to Rust.
What do you use for the storage layer?
And we link to it in the show notes.
It's a really, really nice write-up.
RocksDB is very fast and very write-focused, but also it's effective in terms of storage.
And I guess that plays in your favor because if you try to geocode the world, you need a lot of storage.
And on top of it, once the storage is quite optimized, you get really decent cache locality on top of it for free.
So it might have been a really great choice.
And all of that combines into a very efficient single binary lookup service.
What do you use for the fuzzy searching part that you mentioned?
The way I always think of an FST, and I might be wrong here, is it's a very fast state machine for looking up the existence of words very efficiently and very quickly.
So you mentioned the tri-data structure that is similar where
So it stores all of the inputs in a tree, but it knows when there is no possible way for a word to exist in the data storage because you reached a leaf node in the tree and there are no child nodes.
So, you know, for example, this is not a hit in your data structure.
And in your blog post, you mentioned a few other crates.
We just wanted to quickly do a quick shout out here.