Why Compose uses Postgres and Chartio to Analyze Mongo data

Posted by barry on December 3, 2015

Chris Winslett, product manager at Compose, joined Chartio’s AJ Welch for a webinar on why a company with deep roots in NoSQL chose PostgreSQL for its analytics database. AJ followed up with a live demonstration of how to use MoSQL to build a Postgres database from your MongoDB data.

Compose was the first DBaaS (Database as a Service) of its kind. They started as MongoHQ, offering hosted MongoDB services to developers. As they expanded their database offerings beyond Mongo to ElasticSearch, RethinkDB, Redis, PostgreSQL, and more, they changed their name to Compose.  In 2015, Compose was acquired by IBM, becoming part of the Cloud Data Services group.

Because of their roots, Compose stores its operational data in Mongo. This still works great for them. But they ran into some issues when a new finance VP joined the company about two years ago.

“The new VP started looking at metrics,” Chris told us.  They knew who their users were, but they didn’t have any analytical information about the business.

“I spent three weeks trying to get the data out of MongoDB,” said Chris. “We didn’t know what data we had or what we wanted. With metrics, once you get answers, that leads to more questions.” This looping between questions and analysis took too long to deliver the answers they needed.

Chris then tried moving the data to Postgres using MoSQL, an open source tool developed by Stripe. “We haven’t had any major issues with MoSQL. Any problems we had were quickly resolved.”

Choosing Chartio for Analysis

“I started piping the data into Postgres, and within the afternoon, I had the data I need. Then I started looking for an analysis tool.”

After reviewing their options, they settled on Chartio. “We tried some other tools, but it was too hard to pipe our data into their databases. Chartio connected directly to Postgres. This allowed us to leverage what we already knew about our data.”

Chartio also allowed Compose to share data transparently. Everyone in the company received access to shared queries, data, and charts. “As a startup, with people quitting blue-chip jobs to work for us, we wanted people to feel good about taking the risk.

“Chartio also enables collaboration. You get questions and amazing feedback from your users.”

What did Chris learn in this process, and what would he have done differently?

“I wish we’d gone to Postgres sooner.”

In the video, Chris shares a revenue dashboard he built.

Bonus Tutorial

In the video (at 23:30) AJ walks through the process of setting up MoSQL to create a Postgres database, and how changes to the original Mongo database are immediately reflected in the Postgres database.

This makes it possible to use Chartio to query the most recent information in MongoDB using SQL.

AJ has made the files for his tutorial available on GitHub.

See Webinar