The Big Migration
This week, I did one of the biggest things I wanted to do for a long time: extracting all the JSON data out of the main shots
table. With the popularity of Visualizer, the table grew a lot, and it keeps growing faster and faster every day. The simple database design I started with didn’t cut it anymore. The Your Shots page got slower, search got slower, people listings got slower, all because that table grew over 7 GB in size.
I knew I needed to do something about it, but I also knew I can’t screw this up. It had to go super smooth without downtime, without data inconsistencies, and at every step giving me a way to revert in case something doesn’t go quite right. Migrations like this demand time and focus.
I recently became unemployed when the company I worked for has shut down. While that was really unfortunate, it also gave me the time necessary to finally tackle this thing. And, I’m happy to report, it all went super smoothly, with no hiccups, and most of the pages are now way more responsive.
There were quite a lot of other changes since the last update:
- you can now quickly navigate to a previous/next couple of shots on every shot page
- you can hide/show annotations on a chart
- the enjoyment placement got improved for better information fidelity, especially on mobile
- you can now edit the barista information
- I’ve made it clearer that, if you’re private, only you can see yourself on the search page
- many small bug fixes
I also recently switched from PointDNS to Cloudflare, since some users were experiencing issues that could only be explained by DNS. They seem to have resolved for those users for now, so maybe it actually is always DNS.
Thanks for reading, and enjoy your weekend! ☕