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 metadata store and have been working hard to achieve a good balance between scale and developer delight. Tigris is a storage platform that leverages FoundationDB as one of its core components. In this talk I cover four aspects we had to balance:
- Handling schema changes automatically in our secondary indexes.
- 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.