Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Pricing

Glauber Costa

๐Ÿ‘ค Speaker
358 total appearances

Appearances Over Time

Podcast Appearances

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

We wanted to deploy it in a way that was replicated. We wanted to do things like read replicas, and we wanted to put it to run on Cloudflare Workers and all things like that. And we considered this a good thing for our project. So, you know, if... And... Technically, we knew we could do it. And for context here, like Pekka and I, we've been working together. Pekka is my co-founder.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

We wanted to deploy it in a way that was replicated. We wanted to do things like read replicas, and we wanted to put it to run on Cloudflare Workers and all things like that. And we considered this a good thing for our project. So, you know, if... And... Technically, we knew we could do it. And for context here, like Pekka and I, we've been working together. Pekka is my co-founder.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

We've been working together for 15 years now. We met each other when we were both working on the Linux kernel. Pekka was one of the maintainers. We work independently. Each one of us worked in Linux for almost 10 years, the first five without knowing each other. I think we knew off each other, but we never met.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

We've been working together for 15 years now. We met each other when we were both working on the Linux kernel. Pekka was one of the maintainers. We work independently. Each one of us worked in Linux for almost 10 years, the first five without knowing each other. I think we knew off each other, but we never met.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And in the last five years, very closely to each other, where we developed a good friendship. After that, we actually joined a startup that also became a database company. We spent eight years doing that. So we felt like technically, SQLite is all things considered pretty simple, given the scope of things that we used to do. So technically, we can make the changes that we believe we can.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And in the last five years, very closely to each other, where we developed a good friendship. After that, we actually joined a startup that also became a database company. We spent eight years doing that. So we felt like technically, SQLite is all things considered pretty simple, given the scope of things that we used to do. So technically, we can make the changes that we believe we can.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And so let's just come up with our own version. And we saw at the time a lot of people dancing around the subject. That's what we saw. So there were some projects like Light at Fast that were super interesting projects, Dequal Light. We saw lots of people trying to get SQLite to work as a distributed system.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And so let's just come up with our own version. And we saw at the time a lot of people dancing around the subject. That's what we saw. So there were some projects like Light at Fast that were super interesting projects, Dequal Light. We saw lots of people trying to get SQLite to work as a distributed system.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

The problem that we saw with all of those projects is that they were all, again, dancing around the subject that SQLite cannot be changed. So we're going to create layers and layers and layers around SQLite to help with that. And for us, it was like, technically, this is actually a pretty simple problem. You just have to change SQLite here, here, and here, and you're good to go.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

The problem that we saw with all of those projects is that they were all, again, dancing around the subject that SQLite cannot be changed. So we're going to create layers and layers and layers around SQLite to help with that. And for us, it was like, technically, this is actually a pretty simple problem. You just have to change SQLite here, here, and here, and you're good to go.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And I think the last piece of the puzzle, or maybe the two last pieces of the puzzle, number one is that we were very concerned with who's going to want to run our SQLite plus patches, because SQLite is a very trusted project. So you make random modifications to SQLite, everybody starts distrusting what you're doing. So we knew that, look,

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And I think the last piece of the puzzle, or maybe the two last pieces of the puzzle, number one is that we were very concerned with who's going to want to run our SQLite plus patches, because SQLite is a very trusted project. So you make random modifications to SQLite, everybody starts distrusting what you're doing. So we knew that, look,

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

The solution to this problem is that we should just create an open contribution version of SQLite because now it's not like SQLite plus Fing. It's its own project. And then people come to trust that there's one project. And with that, the diagnosis that we had at the time is like, hey, SQLite is great code-wise.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

The solution to this problem is that we should just create an open contribution version of SQLite because now it's not like SQLite plus Fing. It's its own project. And then people come to trust that there's one project. And with that, the diagnosis that we had at the time is like, hey, SQLite is great code-wise.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

The thing that is holding it back in our reading is exactly the fact that it cannot take advantage of the dynamism of the creativity of a truly open source community. So let's create that. And the last piece of the puzzle is that at the time we were actually discussing how do we do this? And one of the options was like, maybe we should just rewrite SQLite.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

The thing that is holding it back in our reading is exactly the fact that it cannot take advantage of the dynamism of the creativity of a truly open source community. So let's create that. And the last piece of the puzzle is that at the time we were actually discussing how do we do this? And one of the options was like, maybe we should just rewrite SQLite.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And we had a lot of experience in our previous company, Scylla. Scylla was a re-implementation of Apache Cassandra and C++, fully compatible. And maybe we over-indexed in the fears that we had going that route. We say, hey, the problem with Scylla is that it took a long time for us to put in the market. SQLite is much smaller, so maybe we can do it. But

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And we had a lot of experience in our previous company, Scylla. Scylla was a re-implementation of Apache Cassandra and C++, fully compatible. And maybe we over-indexed in the fears that we had going that route. We say, hey, the problem with Scylla is that it took a long time for us to put in the market. SQLite is much smaller, so maybe we can do it. But

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

maybe because we had just come from an experience where we wrote a database, we figured that forking was a better strategy.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

maybe because we had just come from an experience where we wrote a database, we figured that forking was a better strategy.