PostGreSQL has become one of the most popular and widely used databases, and for good reason. The level of extensibility that it supports has allowed it to be used in virtually every environment. At Citus Data they have built an extension to support running it in a distributed fashion across large volumes of data with parallelized queries for improved performance. In this episode Ozgun Erdogan, the CTO of Citus, and Craig Kerstiens, Citus Product Manager, discuss how the company got started, the work that they are doing to scale out PostGreSQL, and how you can start using it in your environment.
- Hello and welcome to the Data Engineering Podcast, the show about modern data infrastructure
- When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at dataengineeringpodcast.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your data pipelines or trying out the tools you hear about on the show.
- Continuous delivery lets you get new features in front of your users as fast as possible without introducing bugs or breaking production and GoCD is the open source platform made by the people at Thoughtworks who wrote the book about it. Go to dataengineeringpodcast.com/gocd to download and launch it today. Enterprise add-ons and professional support are available for added peace of mind.
- Go to dataengineeringpodcast.com to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.
- You can help support the show by checking out the Patreon page which is linked from the site.
- To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers
- Your host is Tobias Macey and today I’m interviewing Ozgun Erdogan and Craig Kerstiens about Citus, worry free PostGreSQL
- How did you get involved in the area of data management?
- Can you describe what Citus is and how the project got started?
- Why did you start with Postgres vs. building something from the ground up?
- What was the reasoning behind converting Citus from a fork of PostGres to being an extension and releasing an open source version?
- How well does Citus work with other Postgres extensions, such as PostGIS, PipelineDB, or Timescale?
- How does Citus compare to options such as PostGres-XL or the Postgres compatible Aurora service from Amazon?
- How does Citus operate under the covers to enable clustering and replication across multiple hosts?
- What are the failure modes of Citus and how does it handle loss of nodes in the cluster?
- For someone who is interested in migrating to Citus, what is involved in getting it deployed and moving the data out of an existing system?
- How do the different options for leveraging Citus compare to each other and how do you determine which features to release or withhold in the open source version?
- Are there any use cases that Citus enables which would be impractical to attempt in native Postgres?
- What have been some of the most challenging aspects of building the Citus extension?
- What are the situations where you would advise against using Citus?
- What are some of the most interesting or impressive uses of Citus that you have seen?
- What are some of the features that you have planned for future releases of Citus?
- Citus Data
- From your perspective, what is the biggest gap in the tooling or technology for data management today?
- Citus Data
- Timescale SQL blog post
- PostGreSQL Graph Database
- JSONB Data Type
- Aurora PostGres
- Amazon RDS
- Streaming Replication
- CTE (Common Table Expression)
- HipMunk Citus Sharding Blog Post
- Heap Analytics