High-Performance Database Engineer

Login to Send Email

Description

C DB engines Linux Python C++ Java SQL systems programming

I've been working for the last 3 years on an in-memory MVCC DB engine in C++, built from scratch. The engine incorporates several innovative design features. It has completely nonblocking transaction open and commit; incremental, concurrent, and nonblocking GC; and direct shared-memory access to data from client processes with zero-copy reads. All critical paths are lock-free and some are wait-free (e.g., transaction validation). Scalability is a work in progress but single-thread update throughput is ~5M TPS. I've also designed and partially implemented a high-level API over this database to expose transactional programming to C++ developers who would never normally use a database: https://senderista.github.io/atomik-website/. Before starting this project, I worked on a distributed analytical database, supporting multiple scientific users: https://myria.cs.washington.edu/. I'm most interested in developing high-performance database engines in low-level languages, but open to any challenging systems programming project. I've been working in C++ for the last 3 years, but have written nontrivial projects in Rust and Java as well (e.g., https://github.com/senderista/rotated-array-set, https://github.com/senderista/hashtable-benchmarks). I would enjoy using Rust or Zig on a new project, but I consider the project itself to be much more important than the language it's written in. I am not interested in cryptocurrency, adtech, or fintech projects.