It’s been a while since a piece of software left me feeling as genuinely excited and happy as getting started with Metabase did. It’s some of the nicest tooling for internal “analytics” / “business intelligence” / “data introspection” I’ve come across.
(Disclaimer: I have no affiliation with Metabase, I’m just enthusiastic about it)
I’ve seen and been involved in a bunch organisations building their own internal analytics tooling. It starts off small. Sometimes someone runs a quick query against the production database, and you hope it doesn’t generate too much load. Sometimes someone downloads a copy of the production database and runs a query there, and you hope that copy doesn’t leak. Sometimes, finally, someone puts together a quick internal admin tool that runs against a read-only replica and spits out some JSON / HTML, or a cron job to email, but it’s still a bunch of ad-hoc hackery and sadness.
At some point, you find yourself thinking “I just need something that will take SQL queries, let me do some parameterisation, maybe some caching, maybe some scheduled reporting, maybe Slack/email hooks, maybe some graphing”. Inevitably my searching wouldn’t turn much up other than Enterprise Solutions (TM) which meant DIY-ing as much as possible while not letting it be a distraction from the core business.
Then I found Metabase, which delivers all of that and more in an intuitive fashion that’s easy to get started with and to run and operate.
They have an OSX app (with good sample data) if you want a demo or a purely local version, or you can grab a Docker image, JAR, or the source to run in a less ad-hoc fashion. It was under half an hour to deploy to AWS Elastic Beanstalk, almost all of which was me failing at VPCs and security groups.
There’s a remarkably powerful query interface if SQL isn’t your thing:
But if SQL’s what you prefer then that’s easily doable:
There’s tonnes more.
Metabase offers exactly the tools I’ve been wanting for data exploration and visualisation, so now I can spend time on the bits unique to me.