Blog

An interview with Citus Data: Scaling out Postgres

Posted By: PostgresOpen on Wednesday, September 13

We just wrapped up a great several days with many from the Postgres community. But, just because the conference is over doesn't mean it all has to come to an end. In coming weeks, we'll have videos from the talks up, and we are already starting our preparations for next year.



But first, we took a chance at the conference to sit down with our other Diamond sponsor Citus Data to learn a bit more about them and get a better sense of why they think Postgres is so important.



PostgresOpen SV: Can you start by giving us a quick overview of what Citus does?



Craig Kerstiens: Citus is an extension to Postgres that makes it easy for you to scale out. We do this by sharding your data seamlessly under the covers and distributing your data across many nodes. Scaling out gives the database more memory, more compute, and more storage — oh, and we can parallelize the SQL, too—and as a result, your application gets a lot more performance. At the same time, to your app, Citus still looks like a standard single node Postgres database. And we've made Citus available as open source, as enterprise software, and as a fully-managed database as a service.



PostgresOpen SV: Citus has been around for over five years now, but it seems you're moving a lot faster now. Has something changed or can you share a bit on that progress?



Craig Kerstiens: It turns out building a distributed database takes time. I'd venture to say that building a robust solid database takes between 10-20 years. By leveraging Postgres, we were able to shave a good bit of that time off, and we've been rapidly innovating on Citus so it works just as you'd expect Postgres to work, only: distributed. The uptick you’ve seen from Citus over the last year is probably the result of a bunch of different things: First, we open sourced Citus, which has made our technology available to so many more people. Second, because we made Citus available as a fully-managed database as a service, we’ve been able to connect with a lot of customers who quite frankly would like to forget about their database, and focus instead on their application. And third, the team. The distributed systems experience we have from engineers that were early Amazon.com and AWS engineers coupled with many of us on the database as a service side of things that helped build and scale Heroku Postgres lets us consolidate that expertise then give it right back to our customers which creates a nice cycle.



PostgresOpen SV: I noticed at the conference you talked a lot about multi-tenant and SaaS apps, what's unique or different about those type of apps?



Craig Kerstiens: When it comes to sharding, there are a lot of different opinions out there on how hard or easy it is. And most of those opinions are right in their own way, the reality is that your data model has a lot to do with what type of sharding is right for you and your application. The good news for the SaaS applications out there is that many of them have a multi-tenant data model, and it turns out the way we scale out Postgres works really well for these multi tenant apps.



PostgresOpen SV: What’s next for Citus?



Craig Kerstiens: More Postgres, more scale, more features. There are a ton of options ahead for us, but the key theme is that we want to let you get back to building your app and not worrying about the database and putting out fires. We’ve consistently heard from customers after migrating that they have not thought/worried about their database after migrating whereas before it was a constant area of pain. We want to keep making that experience easier to come to, and give you the tools to work more flexibly with your data.