Just Table It

When it comes to data, you can mistakenly optimize by trying to choose the “right” technology for the job. Often, the best choice is right in front of you: your database. Relational database scale pretty well, despite what you’ve been told in recent years. Don’t introduce a new data store into your stack if you don’t need to, and don’t store interesting data in logs unless you can easily query them. Generally:

If you need to query data, throw it in a table.

At Instacart, we’ve stored:

Even today, we store most of these in PostgreSQL. Your time is better spent adding value to customers than trying to anticipate how to handle this data at scale. You can figure it out when you get there.


We’ve open sourced much of the technology we use to do the above.


Published January 13, 2017

You might also enjoy

Introducing Archer: Rails Console History for Heroku, Docker, and More

Git LFS on Heroku

The Two Metrics You Need

All code examples are public domain.
Use them however you’d like (licensed under CC0).