[Blog](/blog/.md)

<!-- -->

/

<!-- -->

[Engineering](/blog/tags/engineering/.md)

# A developer-driven approach to building secondary indexes presentation

Garren · April 3, 2023 ·

<!-- -->

One min read

[![Garren](https://github.com/garrensmith.png)](https://www.garrensmith.com)

[Garren](https://www.garrensmith.com)

Founding Engineer

I did a presentation at the [FoundationDB Monthly Meetup](https://www.meetup.com/foundationdb-online-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:

1. Handling schema changes automatically in our secondary indexes.
2. The trade-off between auto-indexing all fields and indexing select fields.
3. Changes we made after performance testing.
4. How we plan build indexes in the background with minimal conflicts.

<!-- -->

[YouTube video player](https://www.youtube.com/embed/qD1h5CyzL0A)

**Tags:**

* [Engineering](/blog/tags/engineering/.md)
* [foundationdb](/blog/tags/foundationdb/.md)
* [database](/blog/tags/database/.md)
