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 · Tweet

You might also enjoy

Postgres SSLMODE Explained

Securing Sensitive Data in Rails

Active Storage S3 Client-Side Encryption

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