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.

mount_fuji


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

And

Published January 13, 2017


You might also enjoy

The Two Metrics You Need

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

Bootstrapping Postgres Users


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