Hi, my name is Nikita, I am a low-level Rust engineer.
- New Query Engine of MongoDB. I worked on a compiler to lower queries into internal bytecode as well as a virtual machine to execute this bytecode. Had a lot of fun with performance optimization and correctness.
- Query Profiler of ClickHouse. Implemented low-overhead, always-running sampling profiler, showing which lines of code were slow for a particular query. This feature is turned on by default on all ClickHouse deployments (cloud and on-premise).
- JSON Querying and Binary Storage in YDB. Added functionality to query JSON documents from SQL. I have also invented a custom binary format to store JSON documents to optimize read performance.
This was all in C++, but then I decided to switch to Rust.
After that, I worked in an NDA High-Frequency Trading company for a while. Using Rust, I developed custom time-series storage solution for structured data and contributed to a distributed actor system called Elfo.
- I work in Prisma, where I optimize performance of the query engine written in Rust. This engine powers Prisma ORM, which is the most popular TypeScript ORM on the planet.
- Open-source Rust, see pinned repositories.
- Occasional microcontroller and embedded shenanigans, as well as other stuff.
- (EN) Type-safe and fault-tolerant mesh services with Rust
- (EN) SQL's Inner Workings @ Handmade Seattle 2023
- (RU) Introducing JSON Support @ Yandex Database New Features Overview 2020
- (RU) ClickHouse Query Profiler @ Highload++ 2019
- (RU) ClickHouse Query Profiler @ ClickHouse Meetup Novosibirsk 2019 (part 1, part 2)
- The best way to reach me is by email: [email protected]. I usually respond within the same day if I am not on a vacation.
- Memes and experiments can be found on Mastodon.
- You can also ping me on LinkedIn.