I did a presentation at the FoundationDB Monthly Meetup. The talk is about, how 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.
- The trade-off between auto-indexing all fields and indexing select fields.
- Changes we made after performance testing.
- How we plan build indexes in the background with minimal conflicts.
Tigris is a Serverless NoSQL Database and Search Platform that offers a modern open source alternative to MongoDB and DynamoDB. Tigris allows developers to rapidly build applications with a NoSQL platform that combines database, search, and sync mechanism. Tigris simplifies operations by automatically scaling throughput and storage as application traffic grows, at fraction of the cost of MongoDB and DynamoDB, while providing high availability and data security.

Checkout the quickstarts, give us a star on Github, and join us on Discord.