In conversation with Gwen Shapira, Co-founder of Nile
In this episode of Tractable, Orb CTO and Co-founder Kshitij Grover and Gwen Shapira, Co-founder of Nile, explore the cutting-edge world of multi-tenancy and serverless Postgres offerings for modern SaaS applications. This podcast episode delves into Nile's innovative approach to virtual tenant databases, the complexities of managing mixed data blocks, and the challenges of building a database offering tailored to diverse customer needs. Gwen uncovers insights into the decision-making process of building on Postgres and the relentless focus on reliability for ongoing operations.
Kshitij Grover [00:00:05]: Hey, everyone. I'm Kshitij, cofounder and CTO here at Orb. Welcome to another episode of Tractable. Today, I have with me Gwen Shapira. Gwen is the cofounder of Nile, which is a serverless Postgres offering for modern SaaS applications. Previously, Gwen was an engineering leader and architect at Confluent leading the cloud-native Kafka team. Gwen, really excited to have you. Thank you for coming to the show.
Gwen Shapira [00:00:28]: It's so exciting to do this with you. Thanks for inviting me.
Kshitij Grover [00:00:32]: We're gonna have quite a rich conversation. Before we dive into Nile and the architecture, I'd love to just hear a little bit about your background and what you've done leading up to and then I'm sure we'll incorporate that into the rest of the chat as well.
Gwen Shapira [00:00:48]: My background has been in software engineering, especially in the data space. I'm old. Many years ago, I took a job as a software engineer, and then, the data architect left, and I was asked to fill in. And the company hired someone more senior. I learned a lot from them. And, basically, from there on, I just did data, starting with Oracle and then a bit of MySQL.
Gwen Shapira [00:01:22]: And then, when big data became a thing, I started doing Hadoop, and from there streaming data with Kafka and Confluent. And now we are doing serverless Postgres at Nile. I guess my entire career is all databases all the time.
Kshitij Grover [00:01:42]: That's what's interesting. I think you've seen a lot of those trends at honestly, some of the leading companies at the time that those trends were really popular. And I wanna dig more into Nile as a point because that's what you're currently working on. As I understand it, Nile's core architecture is predicated and based on this idea of native multi-tenancy. So maybe we can start there. Can you give us some background on what that means? What is the native multi-tenancy? And maybe we'll start with the use case of why is that so important in B2B software? And then we can talk about at a technical level, what implications that has.
Gwen Shapira [00:02:19]: By saying the obvious, if you're a B2B SaaS, you have customers. And those customers, they may be small, they may be big, you may have a mix of sizes, but they're critical to everything you around your business, around your service, around everything that you provide. And they're going to be quite central to your data model as well. And there are tons and tons of companies like that. One may say even most of them. And then it comes as a surprise once you start thinking about it. Like, how come our databases don't know about this core idea of a business?
Gwen Shapira [00:03:03]: And this is a thing that was around from the beginning of databases, like, 40 years. And for 40 years, or in my case, I'm not that old, so maybe for 20 plus years, through all those databases, all those different data systems, every single time, do we want to give a database for each customer, which gives us a lot of flexibility and a lot of isolation and good security? Or do we want to do the multitenancing and just put all customers in the same database? And if they grow, we'll shard it out, essentially. And every one of those has pros and cons. If you have bigger customers, you probably want to dedicate more resources to them. They're more sensitive. They may ask you to do more things like, please restore my database.
Gwen Shapira [00:03:52]: And if you have tons of customers, you probably don't really want to run 100,000 different databases. So you don't do that. But then if you have a database per customer, you cannot really run large reports. So you can have to balance a bunch of trade-offs. And when you get started, you don't even quite know what the trade-offs will be. So many companies I saw that I'll go after very large enterprise companies, but guess what? I couldn't, so I went and sold to 5,000 small companies.
Full transcript here.