Garren is a database engineer based in sunny South Africa. He works at Tigris Data, building a new modern data platform. He’s been a regular open source contributor over the years, contributing to the Apache CouchDB project, the Prisma ORM, and the PouchDB browser database, amongst others. When he’s not coding, you’re likely to find him in the outdoors - either climbing up a cliff face or taking photographs (not at the same time, however).


Building secondary indexes for a database is always about balance. A balance between a system that scales and is easy to manage and an API that is intuitive and delightful for a developer to use. Recently, at Tigris Data, we have been adding secondary indexes to our database and have been working hard to achieve a good balance between scale and developer delight. Tigris is a transactional document database that runs on top of FoundationDB and is compatible with MongoDB. In this talk, I cover four aspects we had to balance:1. Handling schema changes automatically in our secondary indexes so that users don’t have to worry about it.