779

June 7th, 2024 × #sqlite#databases#local-first

Why SQLite is Taking Over with Brian Holt & Marco Bambini

Discussion on why SQLite is gaining popularity, its advantages like efficiency, speed and stability, misconceptions about capabilities, and how SQLite Cloud enhances it by making it shareable and adding enterprise features.

or
Topic 0 00:00

Transcript

Wes Bos

Welcome to Syntax.

Wes Bos

On today's supper club, we have a really great one for you. We have Brian Holt and Marco Bambini talking all about SQLite.

Wes Bos

Marco is the founder of SQL Cloud and Brian is the VP of product. Brian has a a crazy stacked resume working at Snowflake, Stripe, Microsoft, Netflix, Reddit, a, basically, a who's who of impressive companies.

Wes Bos

And, Marco, the founder of SQLite, has been working in all kinds of SQLite, based startups for a while here, since 2003.

Guest 1

Right.

Wes Bos

SQLite has been buzzing lately, and, we're gonna be talking all about why you should be paying attention to SQLite today and a little bit about SQLite cloud and, why it's an interesting bit of technology.

Wes Bos

Welcome, Marco and Brian. How are you guys doing?

Guest 1

Great. You? Thanks.

Wes Bos

Nice. With us JS also is CJ.

Wes Bos

CJ Reynolds, Wes is out. He had a baby, so he is going to be, he's on paternity leave for a little bit. And we're gonna be talking all about, the stuff we wanna get into is gonna be, you know, why SQLite.

Wes Bos

Maybe a little bit about ORMs, but SQL SQL Lite cloud and maybe some of the unique features there, big misconceptions about SQL Lite.

Wes Bos

So first and foremost, Mark O'Brien, do you wanna take a a minute to introduce yourselves and maybe give us who you are and and what you do?

Guest 2

Sure. Yeah. I can go first.

Guest 2

I'm Brian. I've been around the the JavaScript React Python community for as as Scott alluded to for some time now. Mhmm. My my I think my claim to fame is that I launched Reddit's 1st React code back way before it was cool.

Guest 2

And then I got, I kinda moved all the way from the I went back end to front end and then back to the back end again across all those companies that you talked about, And I kinda didn't give SQLite its, its due until I started talking to to Marco and and to SQLite cloud, and I kinda came back to it. I was like, wow. This is this is poised to make a big difference in the community and and and building big products. And so I was at Snowflake. I was really happy with my job, and I had Node conversation with Marco, and I was like, well, f all of this. I'm gonna go do all this stuff now. That sounds way, like like, way more fun. Right? And and haven't regretted it since. So, yeah, I'm I'm just excited to be here and excited to be working with Marco. Nice. And, I'm Marco. I am Italian. And,

Guest 1

basically, everything started, several years ago when I was in Vercel, and I developed the 1st commercial database management system Bos on SQLite.

Topic 1 02:31

Marco founded SQL Cloud and created first commercial database system based on SQLite

Guest 1

And, it has been deployed more than a 140,000,000 times worldwide since 2013.

Guest 2

Wow. And,

Guest 1

soon after I founded a startup that, created, a new way to develop mobile application.

Guest 1

And, I brought, programming language, which is now open source and using many game engines.

Guest 1

And, but my love for SQLite, never ended. So when I had the opportunity, I created another startup.

Guest 1

And, I founded SQLite Cloud back in 2021, 22.

Guest 1

And, you know, SQLite is the most widely used database ESLint, and it's the most widely used software, from the hospital website.

Guest 1

There are an estimated 2,000,000,000 of installations worldwide because it is pnpm, every mobile, application, in every desktop computer, in Bos, in, Android ecosystem. So it's basically everywhere.

Guest 1

SQLite is a remarkable piece of software and it is bendable and single user by default.

Guest 1

And, we think that it's now time to bring what you have, locally and,

Wes Bos

will give you the opportunity to share your database on the cloud without any effort. Wow. Yeah. It it JS it does feel like there has been a bit of a, a wave of of just people hyping SQLite or, SQLite, as you say. And and, actually, before we even get into that, I wanna know SQLite or SQLite, which is it?

Guest 1

SQLite. Doesn't matter. Yeah. I think SQLite.

Guest 3

Yeah. I say SQLite.

Wes Bos

You do. You say SQLite.

Guest 2

I think both are okay. But I I think Marco's correct that, like, it's correctly said, SQLite despite the fact that I say SQLite all the time because I'm just lazy.

Wes Bos

Yeah. Yeah. It JS funny. We did a whole, at a React Miami conference. Yeah. We we had CJ going around with a a phone saying, how do you pronounce this for various things? MySQL, SQLite, whatever. And, yeah, yeah, everybody pronounces things differently, so it's wild. So what do you think the the wave has really come about more recently? I know, Marco, you've been working on this stuff a while, but it it does feel like in the past year or 2, people are talking about SQLite a lot more now lately. What do you think that JS, recent thing?

Guest 1

Well, I think that, you know, there are waves of new technologies every every single day, basically.

Topic 2 05:28

SQLite is efficient, remarkable, well-tested and can be trusted for stability

Guest 1

And, but when you need a database, you want something that is efficient, remarkable, very well tested.

Guest 1

You need something to trust.

Guest 1

And I think that SQLite is probably the best tested software out there.

Guest 1

For every lines of code, there are literally hundreds of line of code that just added to test the Bool, source code of the library.

Guest 1

And, it is so efficient that, you can split your complex SQL queries down to, 100 of micro queries.

Guest 1

And, you are guaranteed that SQLite can reply to which query in microsecond time.

Guest 1

So I think that, people need something which is very fast, very optimized.

Guest 1

And they know for sure that they can trust SQLite for the years will fall off. So because it's guaranteed to be to be stable up until to for the next 50 years.

Guest 1

So for example, the Library of Congress, suggest to use SQLite as a default file format, for example.

Guest 1

So it's a software that it it's it's, here to stay for a long time.

Guest 2

Wow. Totally agree with Marco. I I think that, you know, in my, you know, 15 year career of watching tech, we've we've had these, like, expansion moments where we'll go out and, like, let's make the biggest, craziest databases. Wes ended up with Aurora and Dynamo and just these, like, sprawling metropolises of databases that can and Cosmos DB, that's when I used to work on a Microsoft, and and Snowflake, I think, is a is a phenomenon of this as well. It's kinda like this, like, Deno interest rate phenomenon of, like, let's build the biggest, craziest thing that can do everything, and also a bunch of stuff that no one would ever really wanna do, but we can. Right? And then I think we're coming back into this kind of newer reality, like, where we value simplicity, and we value smaller footprints, and we value lower cost, and we value the ability to run literally anywhere. Right? I mean, like, SQLite, you can, you know, run it in Wes assembly and run it directly in your browser. And so we're starting to value more of these, like, let's run on efficient hardware. Let's run on super low latency. Let's run lightning fast.

Guest 2

And these are all things that, like, Sanity is is is excels at. Right? It runs anywhere. It's very fast. It's very simple.

Topic 3 08:09

SQLite is simple, fast, runs anywhere and has been made more powerful

Guest 2

And I think Marco and and our engineers have done a really good job taking that simplicity and blowing it out and making it really powerful as well. That was kind of the limiting gating factor that it was, you know, file based and single user, and we kinda removed that initial kind of barrier there that it can now supply and be used in in much more demanding use cases, but while still maintaining that simplicity.

Wes Bos

Yeah. Yeah. It's it's super interesting. In my experience, I I do totally get the simplicity aspect of it. So would you say those are those are kind of the the key things that make SQLite special in in general?

Guest 1

Well, it's it's so efficient that, you can, react the same performance compared to over database engine using, much less powerful hardware, for example.

Guest 1

So, I mean, today's our mobile phones are complex piece of hardware and, are incredibly fast, But even if, you try to run something on, less powerful hardware, you'll be able to maintain very fast response time and usually under in the microseconds, range.

Wes Bos

Wow. Yeah.

Wes Bos

Yeah. So fast. Run it anywhere.

Wes Bos

It's relatively simple to pick up.

Wes Bos

What about, like, misconceptions? I I know, you know, people do feel like they need the fancy database solution and not that SQLite isn't a, you know, fully featured or fancy in some sense. But, like, what what is that what are misconceptions about SQLite in amongst the general public?

Guest 2

I think, certainly, you you were hitting it on the head there that, like, it can't do a bunch of things.

Topic 4 10:04

SQLite misconception is it can't do advanced features but extensions exist for nearly any use case

Guest 2

And out of the box, like, maybe it can't do things like full text search, but there's so it's such a rich ecosystem that's been around for so long that if you have a problem, there's, like, a 99% chance that extension exists. Right? So if you want full text search, there's there's an existing vector search one. So if you're doing something like that would be, with, like, LLMs or some sort of, like, vector search kind of thing, there exists Node today. There's a new one that we're we're funding that's coming out fairly soon that what it doesn't do today that you do need, there's an extension out there that can do it today. I'm gonna just throw out some wild statements that I have no data to back up, but, like, 99% of use cases, I think, can be covered by SQL. Like, most of the our use cases that we're doing today, which is, you know, reading and writing some records to to to a database, running some queries here and there, like, there's nothing there that you're doing that's very complicated, like, that you need some massive sprawling database. Like, all that stuff can be, you know, handled for much less money, much more efficiently, and much faster, I think, by SQLite.

Wes Bos

Yeah. Marco, you kinda touched on this a little bit. It runs, on so many native apps. I mean, just about most native apps you have on your phone are are running a a SQLite database behind the scenes on your phone, and that's kind of what empowers them to be able to, you know, store anything locally. Right?

Guest 1

Right. Yeah. Because it's installed by default in every operating system.

Guest 1

And so the developer, don't need to do to download or install anything.

Guest 1

I mean, it's like the library or the library normally used by the most common programming languages.

Guest 1

SQLite is part of the kernel, part of the operating system. So you I mean, just include the header and start using it. That's it. There is no f.

Guest 3

And and personally, like, I haven't explored a lot of these, like, cloud options. And I guess for me, SQLite Node in my head has always been sync like, it's a flat file database, single user.

Guest 3

So what would you say to devs that haven't really experienced SQLite in more of, like, a production aspect or, like, a cloud aspect? Like, because for for me, I haven't explored this stuff, so I'm always just like, well, SQLite can do that. Have you seen those those perceptions out

Guest 1

there? Yeah. Probably, the the liked in the name, doesn't have.

Guest 1

But the liked doesn't mean that it is I don't I don't Node. I strip it downwards, you know, of something more complex.

Guest 1

The light in the name means but it is, lightning fast and, super efficient.

Guest 1

And, I mean, it can do basically everything our database management system can do.

Guest 1

And, on top of that, Wes, as SQLite Cloud, added a lot of enterprise and, cloud function, like authentication, like, role based access control, the ability to have, suggestion about the best index to use for your complex queries, and a lot of things that are available in our dashboard.

Guest 1

So, we started with a very good code Bos, which is SQLite, and we enhanced and added all the feature needed by, in a cloud version of every database.

Wes Bos

I think that's a really good point you made, Marco, about the the light in the name kind of I I do I do think that is a marketing issue. You guys spend a lot of time trying to persuade people otherwise that it it's not a light piece of software or it's it's light but not light in,

Guest 2

features? I've I've been spending a bunch of time just talking to developers. And by the way, if anyone wants to talk to me about, you know, SQLite, just reach out to me on Twitter. I I will talk to anyone about it. Mhmm. Most of the people that I talk to about this are just excited. It's like, I love this piece of technology, and I'm so excited now that I could just use the one that I start with. Like like, if you start out, like, a Rails tutorial today, it uses SQLite, like, directly, like, in the 1st page there, and they're just excited. It's like, I don't have to, like, migrate later. Right? I can just, like, keep going with the one that I have. Right? And so we're we're really fortunate that we have, you know, Wes ish years of people being excited about this, and we're just finally saying, like, hey. Guess what? What? You don't have to move off the thing that you're excited about. Like, you can just keep going with it and and not have to, like, use, like, another piece of technology or learn something new or something like that. Like, just keep going with the familiar.

Wes Bos

Yeah. I like that. I I did a lot of, MongoDB in the past, and I bounced to MySQL and Postgres.

Wes Bos

And I'm doing a lot of SQLite Node,

Guest 3

and it does I I I have fatigue of switching database technologies all the time. So it it's it's it's going to be nice to just consolidate on on 1. And, obviously, I think, SQLite is a a great choice for that. Definitely. Yeah. And I guess on that on that note, what do you think SQLite does better than, like, Postgres or MySQL? So for me, in most of the apps that I build, my thought process is if I'm gonna deploy this and it's gonna have more than 1 user, I reach for Postgres. But what what can you tell me? What what does SQLite or SQLite cloud do better? Or or, like, why would I choose it over something like Postgres or MySQL?

Guest 1

Well, I don't like to talk about benchmarks because, you know, as a developer, you can tune your benchmark to always win against any competitor.

Guest 1

But, we did a lot of testing, about our solution versus MySQL and Postgres.

Guest 1

And, we've, the cheapest hardware we can find in order to stress test, the resources.

Guest 1

We tested a lot of, I mean, the most common queries, runs against databases.

Guest 1

And, we are order of magnitude, faster than MySQL Wes way faster than Postgres.

Guest 1

But again, I mean, it's just raw speed. And, we think that we can offer a complete solution.

Guest 1

And, I'd like to point out that our solution is not just a way to share your database in, you know, in a cloud solution, but we offer a cluster.

Guest 1

And a cluster means that there is there's a there are often Node algorithm.

Guest 1

So you can distribute your solution worldwide, whatever you want, closer to your customer, for example.

Guest 1

And we guarantee that, you always have the strong consistency of data.

Guest 1

And so if someone is write something in New York and someone else is reading at the same time in Europe, we can guarantee that, you always read the most up to date information really committed to a database.

Wes Bos

Yeah. And I I bet that comes in handy when you get into local first stuff. We had Johannes on from local first podcast, Prisma, all that stuff, and, we talked quite a bit about, the local first and running SQLite Sanity in the browser via Wasm and all that stuff. I noticed that SQLite cloud has a bunch of local first.

Wes Bos

I don't wanna say like marketing, but local first features on the landing page. Can you maybe talk a little bit about how local first works in regards to SQLite and and what you guys are doing in that regard?

Guest 1

Yeah. Basically, we didn't want to force the developer to use yet another SDK or yet another programming language, for example.

Guest 1

So we developed, an extension for SQLite, which is a shared library that you can load in your local database, And, you can augment a table. And, from the time the table is augmented, it starts sharing information with our cloud infrastructure.

Guest 1

And there are several ways to keep data in sync, but the most complex way is by using CRDT algorithms that, guarantee you to to react to the eventual consistency of data. That means that you can continue to use your application even if there is no network.

Guest 1

If you turn, airplane mode, on, for example, I guess that 99% of the application you have installed in your cell phone SIMPLY doesn't work.

Guest 1

Thanks to our solution, we can switch the parity, and you can continue to use the application. You can continue to offer an exceptional, user experience.

Guest 1

And, under way auto, we take care to check, if the network is okay or is available again, and we continue to sync under the hood all the data you Sanity write to your local database, so with 0 latency.

Guest 2

I mean, it's it's offline sync for free, right, which is just it's like a I remember talking about this back when, what was the name of that, phone gap. Right? I don't remember if anyone remembers phone gap. Yeah. I wish I did. Remember phone gap. Yeah. Same. Yeah.

Guest 2

I remember, like, writing some phone gaps app and and and, like, writing all of this code to just, like, handle all like, if online, do this. If offline, do that. Right? And it Wes, like ended up being, like, half of my code base just providing for all these, like, kind of offline scenarios.

Guest 2

And this, like, golden dream of just, like, just reading right to a database, and, like, it's it'll just all happen for you behind the scenes. Just again, it kinda felt like a pipe dream until I actually experienced it. Like, this is this is the future. This and it's so much more simple than I thought it was gonna be. Right? So, anyway, I'm I'm I'm really high on local first. I think they'll you know, it's your database is running locally, so you're just reading and writing at at local speeds while all that back hauling of data JS so your user is just like, everything feels local to them because it is. Right? Like, they're not waiting for network requests because it's all happening on their phone or or you're you know, in Wes assembly or on your Arduino or wherever you're running Simple Lite because it runs everywhere. Right? Like, that that's, again, just the vision that Marco sold me on that that that got me to, you know, come over here and start working on it. Yeah. I I think, local first for free

Wes Bos

does it it exactly sounds like a dream to me right now, because I've I've been doing a bunch of manual stuff with Yjs and and all kinds of different writing my own implementations.

Wes Bos

But to to hear that it's it just does it for you, I I think that's really exciting to me because I haven't I haven't gotten to use your technology yet. What what exactly where is it storing the offline information with how you guys are implementing this?

Guest 1

Basically, you continue to use your local database as is. You you just write SQL statement as always.

Guest 1

And, when you set up the extension, you just had to add the project ID you previously created in our dashboard and an RP key for authentication, and that's it. You, you can use the same exact configuration in, mobile forms or in a web browser, and, everything is centralized in your Node, so distributed worldwide.

Wes Bos

So so locally, is it storing to, SQLite locally? Because I've seen some people do this with IndexedDB or some other solutions.

Guest 1

No. No. It's an it's a real SQLite database. Cool. Nice. And in your dashboard, you have, I mean, there are several solution out there that have, major drawbacks, in my opinion.

Guest 1

The first Node is that they offer, CRBT solution, but you have to set up where peer to peer network Vercel.

Guest 1

And believe me, it's a huge task.

Guest 1

Huge task. Yeah. I pnpm. Vercel solution. Think about, I don't Node, you are a mobile developer and you want to create, to do application.

Guest 1

And that to do application is downloaded by 1,000,000 Vercel in the app store.

Guest 1

And you don't want to deal with 1,000,000 different databases in your dashboard. Like, that will be unmanageable.

Guest 1

Our solution has a concept of a shared ID, where basically you have just 1 huge database with role level security for all your single user database distributed worldwide.

Guest 3

Yeah. It sounds like a a completely different way to think about even structuring or building apps. Like, instead of talking to APIs, you're just talking to your database, and then the sync handles the rest for you. I guess with that idea, when you're actually, like, writing code to do this, do you all typically reach for an ORM, or do you have special libraries that that you like to work with, or are you just writing direct SQL code? You have any

Guest 1

favorites? Well, we want to, we don't want to force the developer to use nothing special or other SDK or other languages.

Guest 1

You can use whatever you want, but under the hood, even, with most complex ORM, will write insert statement or update statement. And that's Wes all we need.

Guest 1

Thanks to our extension, we just keep track of all the operation

Guest 2

performance in the real database file. So so you can to be clear, you can use any ORM, and it will just work? Yeah. As as long as it works with SQLite. Yeah. I I have a bit of a checkered pass with with ORMs of Yeah. And I think anyone that's used them any amount of time has a checkered pass with them because eventually, you run into some use case where, like, I wanted to do this, and all of a sudden you have to, like, contorting it.

Guest 2

Like, that was me and Mongoose for for years. And Mongoose.

Guest 2

Yeah. Yeah. I love Mongoose. Right? Like, I and thank you to the Mongoose maintainers.

Wes Bos

The one that I've enjoyed the most just playing around with our software has been Prisma. Prisma works great with it. It's a lot of fun. I I respect the hell out of the Prisma developers as well. So I I mean and that one works great with with SQLite cloud. Wow. Cool. Yeah. We use, Prisma for for syntax. Big fans over to here. And we've also done quite a bit of drizzle, but it it's nice to know that you can use any of that stuff. That's kind of a a pet peeve of mine with a lot of these Local First products that you get into.

Wes Bos

And I know that you're not explicitly a Local First product. That's just one of the the many features. But, like, a lot of this the Local First products that you get into, it's like, alright. Now you have to use our ORM to do it. Yeah. I'm like, I don't wanna I don't wanna do another ORM. Yeah. Deno. Thanks.

Wes Bos

Okay. Let's talk a little bit about since we've we've always kinda we've already kinda gotten into this a little bit, but SQLite cloud, can you maybe, you know, now we've talked about the local first stuff. Can you talk a little bit about SQLite cloud beyond that? What makes you guys special? What it does? How it's different? Like, what is SQLite cloud for people who don't know Node never heard of you?

Guest 1

SQLite cloud is a company that enable to share your single user database file, without any effort.

Guest 1

So basically you can just drag and drop your single user database, in our dashboard and that's it. You don't need to change the code. You don't need to migrate data because what you have locally is exact, the same that you have on the cloud.

Guest 1

And, if you think about PostgreSQL or MySQL, Wes, if you think about the database inside that database management system, the database is just an abstraction, above files and directories and special files.

Guest 1

But, in your Node inside SQLite cloud, you just have a single file that you can download or upload at any time, and you can get access to your data at any time if you want to work locally, for example?

Guest 2

The the again, I keep talking about why I I chose to work here. But the thing that, like, really appealed to me is I have a really strong passion for getting newer developers or or just developers kind of in general started on products and then and then helping them scale. And I've worked on a bunch of projects, like, Azure JS probably the the one that I've worked on that's like, it's pretty much for advanced users only. Like, it's it's not a very welcoming piece of software, but if you want to be Walmart, right, it does Walmart scale things.

Guest 2

And I think what really impresses me about this particular product I think Vercel would be another good example of this. It's a product that starts all the way from very simple, like, I'm building my blog kind of use cases all the way that that we can scale to, you know, massive sizes as Wes. And I think it's a rare product that doesn't, and, like, that that's that's why I keep looking at Vercel's marketing. That's why I look at their their products because I think they've done a pretty good job of of handling the entire use case all the way from, like, I just type now on the command line all the way to I I don't know. But I think Peloton is one of their biggest customers, like, to that kind of scale, which I think is just amazing. Yeah. What what what other things do you think make for a good approachable software in that way? I think it's kinda what I was talking about earlier is is that that tension between simplicity and power or the convention versus configuration, depending however you wanna explain that kind of attention.

Guest 2

But how can you get something all the way from understandable and parsable from a perspective of someone that doesn't understand your product all the way up to, I need to do the most wild thing, and I need to bend your infrastructure in unnatural ways. Right? So how do you have all that simplicity baked into that getting started experience all the way up to that configurability and that, you know, malleability

Wes Bos

at that massive scale? Yeah. Yeah. I mean, in in just, you know, speaking to somebody who can get overwhelmed with some of this stuff, the onboarding to create a database, you know, a couple clicks, yeah, you get your username and password, and then it gets you up and running. That process has been kind of, something that you you all are taking very seriously in that onboarding

Guest 2

phase? We have, and we will certainly continue to. We're not we're not quite GA yet as of the recording of this podcast, but, it's definitely one of the things that we're gonna have a strong pass through next to make sure that we kind of it I've been against it's that tension. Like, I was talking to someone yesterday. Wes like, I don't know anything about databases, and so talking about the difference between a node and a database Bos a table is really confusing to this person. Like, how do we help that person versus, like, I'm sure we're gonna have some, you know, old school Oracle architect that that's gonna hop in there, and he's gonna be like, do not tell me what a node is. Like, I was there when it was when nodes were created kind of person. Right? Yeah. It's like so how do how do we handle both of those people and not frustrate either one of them? Yeah. That's a tough balance. Right? Yeah. I feel like I'm a bit of, an antagonist here. I keep asking the the heart the, like, the hard questions or the Oh, I love it. I don't know. But yeah. But, so I guess I have heard of other,

Guest 3

hosted SQLite platforms like Terso. I'm I'm guessing there's a a few others out there. So how does how does SQLite cloud compare to those? What what do you offer that they don't? What do you what do you think you're doing better that they're not doing?

Guest 1

Oh, that's a difficult question.

Guest 1

I think that tools try to sell you the ability to have, 1,000 of databases.

Guest 1

Why we think that by reducing the number of databases I mean, we we have no limits on the number of database you can use. The limits is just the technology that you use under the hood.

Guest 1

But, we can optimize the whole process. So if you need to make some, I don't know, analytic queries, it's much more convenient to have 1 database with all the information instead of having 2 separate by processing between 1,000 of databases.

Guest 1

TUSO is doing a a really great job.

Guest 1

We both offer SQLite, but I don't think we are really competitors because our offer is quite different.

Guest 1

We strongly believe that, sooner or later, your single user solution, which is probably built on top of SQLite, will need a way to share your code or your solution or your database, and, we want to be the 1st choice, for web developers.

Guest 1

We have a huge endorsement because Doctor. Rip, which is the original SQLite author, is one of our investor.

Guest 1

And so we have the right to use SQLite Node JS the company, the products, and, when we need some, modification or improvement in the source code, we just Scott SQLite team.

Guest 1

For example, to also support, LebesQL, they decided to fork SQLite.

Guest 1

I don't think that forking a library used by trillions of, 5 years It's a good choice, but, I mean, we we'll see in the future, but Wes we don't want to fork SQLite. We want to deal with, we want to be compatible with everything SQLite was built, on, and, we want to use the standard library as is.

Wes Bos

Yeah.

Wes Bos

And I guess in that regard, you know, one thing I I I don't know much about in in these things because they always seem like kind of, like, complete projects to me given, you know, that somebody would fork SQLite.

Wes Bos

JS SQLite something that is still seeing development and updates? JS this a technology that's still evolving, or is it is it done?

Guest 1

No. No. It's still evolving, and, there are I mean, you can see commits every hour by the the core SQLite team.

Guest 1

SQLite is open source, but it's a closed contribution.

Guest 1

So it's very difficult for a third party developer to, get, his code accepted into the main branch.

Guest 1

And, Dotonip, really want to have, Wes tested and well maintained Node. And so, you know, that, if start was set, every third party contribution, probably the library will not be able to react the percent of the testability

Guest 3

that we actually today. I guess to that idea, do you see so and and, again, I'm a bit naive to the the whole Yeah. SQLite and everything else, but do do you see some of the add ons that you talked about or the plug ins for SQLite? Would it make sense for some of those eventually to be rolled into the core to become more of, like, a standard features for SQLite, that kind of thing, or is that not exactly how it's evolving?

Guest 1

Well, there are some extensions that are built in into SQLite. For example, the JSON extension, so you can store projects on into a text column and then have processed it in place.

Guest 1

And it's part of a standard distribution.

Guest 1

But, if you really need to squeeze the side of the library, Bos sides of the library, you can decide a compile time to get rid of unused part of the code.

Guest 1

We have a feature available just for, development right now, but it will be available soon where people where developers will be able to install extension using like, marketplace inside, SQLite databases. So we offer, Wes offer several extension and, people can make pull Wes, just if I need something that, we don't have, in the standard offer.

Guest 1

And I think that extensibility is a feature that, we want to invest heavily in any feature.

Wes Bos

Cool.

Wes Bos

I have a question quickly about SQL Lake cloud.

Wes Bos

We use, at Citex, we use PlanetScale.

Wes Bos

And one of the cool things that PlanetScale allows you to do is, like, branching. Let's say quickly and easily branch out into a, like, a development database.

Wes Bos

Is that something that you all are thinking about? Is that a feature that you've considered? Or what's the development to prod and prod to development flow look like?

Guest 1

Well, it's a complex feature, to develop right.

Guest 1

And, there are pros and cons, especially in turn of performance.

Guest 1

But, I I don't want to make any announcement, but, we are investing, and, we are exploring the possibility to offer this feature inside SQLite cloud because Yeah. It's

Guest 2

sorry. Go ahead, Marco. No. No. No. Please please go on. Okay. It's certainly the again, talking to all these customers that I hear, like, oh, we love this part of Sanity scale, and I love that I don't have to think about this. It just kind of happens as is. Just what Marco was saying. Like, it's it's something that we would wanna strive to get right. I think PlanetScale has gotten it pretty right for the most part that everyone seems to be pretty happy with it. It keeps it keeps people pretty sticky to the service, which I think is super cool.

Guest 2

Right now, we are we're pre GA, and so we are just marching towards GA. We're trying to keep everything that's, like, not in GA scope out of our kind of discussions at the moment just so that we can get something in your hands so you can tell us what what you want, what you don't want. Like, we're going right now for the minimum lovable product, and I think that this it's something that we were interested in doing. It's something you can do because it did at did at the end of the day, it's just SQLite at the end of the day. Right? So you can just drop in a SQLite database with a, you know, some sort of, like, file, right, that kind of seeds your particular project, and and that would work. Right? And you don't need anything fancy from us. Just that's again, I think that's one of the powers of using Sanity. Like, you could do whatever you want with it. Right? It's very easy to script. It's very easy to seed with a file. You can just, like, commit a file to your your git repo, right, and and use that. Like, all sorts of, like, possibilities so that you don't need our, like, ESLint, interference to to get up and running with that kind of stuff. That being said, I am super interested in it. Some sort of and it it kinda comes down to, like, a schema management issue at the end of the day of, like, what that branching process really looks like, and trying to get that kind of feature set all rolled up together. So I'm super, super open to feedback on this. If you guys have ideas, I mean, either, you know you know, Scott and CJ here or other people that are listening out in, listener land, I'm all ears. I would love to build something that you'd wanna use.

Wes Bos

Yeah. The best place to do that, we, we're on YouTube, so you can find us at youtube.comforward/addsyntaxfm.

Wes Bos

Leave a comment would be a great place for that. Yeah. And, Node, we we would love we would love for that as well. You mentioned, GA, for those of you who don't know, stands for general availability.

Wes Bos

And and that just means, like, what the product is available as a production version to anybody who wants to sign up and pay for and use it. Correct? So when do you see a timeline for that in general? Is there anything that you can you can tell us about when when this is gonna be generally available? Because I I have a little demo DB spun up, but that's obviously not, you know, GA. So what's the what's the time look like on that? Yeah. It's a good question.

Guest 2

We we kinda have a rolling GA schedule. So right now, we're we're in open beta, so anyone can sign up for free. And, you know, if you're listening to now, we invite you to come, you know, kick the tires on this. We will have a free tier going forward as well, so don't have any fear that we're gonna, you know, rug pull you or something like that or or or accidentally charge I was gonna ask that. Yeah. Node. Yeah. Yeah. No. I'd I I'm not about that life. We're we're aiming to have general availability, and that's mostly more to do with, like, getting all of our UIs in in good shape, our onboarding experience kind of on point, all the pricing out there, all of the billing kind of stuff. The the the core underlying, like, database technology, like, that you wanna go play with is, like, that stuff's done. Like, that stuff's ready for you to come and and play with today.

Guest 2

So we're aiming to have that 1st kind of, like, web developer oriented general availability by the end of May, So that's 10 days. That's that might be a a bit, optimistic at this point, but we're we're close. Right? Yeah. And then we have some more, you know, a mobile developer general availability, so kind of more of that, like, CRDT stuff that Yarn was talking about, kind of like the the offline data sync kind of portion of it.

Guest 2

We're aiming for that more towards the end of August, and then we have one that we're focusing on embedded LLMs. So if you're running, like, LLMs, you know, like, llama or, like, a chat gbt type kind of model at the edge and you wanna have, like, vector search and you wanna have the ability to, like, store all of your data on the edge. Wes and when I say edge, I just mean, like, the the computer that's all the way at the end that's interacting with users.

Guest 2

So that could either be, like, your computer. That could be, like, an Arduino. That could be, your phone, whatever whatever the edge is there, and we're aiming to have that kind of capability more towards let's let's go more like September, October.

Guest 3

Cool. Sick. Awesome. Let's say you've convinced me. I wanna use SQLite in in my app. Yes. So We did it. So can yes.

Guest 3

Can can you talk a bit well, first of all, I'm also just as a curious developer, I wanna know, like, how does it work? Because in my mind, coming into this, SQLite was just a flat file database, a single app, single user. So how do how do we go from that to something that's cloud hosted or, like, multi user? Are we syncing nodes? And then also, like, with that in mind, like, what what is the developer experience like? Like, am I just writing to a SQL database and then, your library handles the syncing and everything else? So, yeah, what's entailed and how's it work?

Guest 1

It really depends on your specific needs.

Guest 1

If you need to create, an application that can be shared with our users. So the technology to use JS, local CRDT algorithms.

Guest 1

If you need, on the other hand, if you need just to use the cloud version of your SQLite database, so we have several SDKs available for all the most used programming language from JavaScript to Rosie, Python, Swift, Kotlin, Go, PHP.

Guest 1

And so you can just use Wes native SDK to connect to your cluster, and start using SQLite statement as as always.

Guest 2

Okay. Jake? You know, something that I think concerns developers when I talk to them is, like, the security model of this, particularly when you're doing something like, hey, I'm sharing my database with you. Yeah. And, like so, like, I'm running, like, a database locally on, like, either, like, in your browser with Wes assembly or, like, on a phone. Like, how am I preventing them from getting to all of my data or blowing up my database or something like that? And with my concern and it it's one that I've heard from from some of our customers that we've talked to. And so we just have a a really interesting and useful sharding technique that where you can use, like, sharding IDs to get access. So this user can only access this part of the database that they have they would have rights to have access to.

Guest 2

Mhmm. And by doing that, like, the only thing that can end up messing up is their own data. Right? Which is kind of true if if you think about it. Like, that's not really any different than an API key. Right? They could just pull their own API key and, you know, open postman and start sending, like, the, you know, queries to destroy their own data. It's kind of the same thing with with SQL. Right? But we're just running that directly in their on their device.

Guest 1

Yeah. And, especially for web developers, basically, today, when, you Node to create some logic on top of your database, you will end up creating a backend or using another backend, but we offer backend as a service. So you just have your database and you can create, Wes API, that can execute JavaScript or Python code.

Guest 1

The code is executed in the same node as your database.

Guest 1

And so you can literally write a lot of logic on the server Node, and that's exposed JS a REST API. So, basically, you don't need to have, a back end or other programming server side programming language because we offer a complete package for you. Wow. Yeah. Node one of the things that really excited me about that is, like,

Guest 2

let's say that you have, like, a mobile developer and they you know, you you're you're syncing your database with CRDT to that developer's device or or the the client's device, we'll actually ship the functions over there with them as well and run them directly on device as well. Cool. So you you basically have, like, local first functions, which is not something I'm familiar with anyone else really accomplishing.

Guest 2

So it's all done at lightning speed directly on their device, which I think is, you know, pretty compelling.

Wes Bos

Yeah. I think the and to be honest, I mean, the the Sanity stuff is all really, really great, but the local first stuff is the stuff that is, like, really flashing lights at me being, like, try this, try this, try this. So, like, the, having those local first functions, it it solves so many of the problems that I've run into personally because, you know, like I mentioned before, I'm, like, hacking a lot of this stuff to together myself Yeah. Using Yjs or other, you know, syncing libraries. And the next thing you know, you're just really, really in the weeds. So it's really great to hear that you all Yarn, thinking about this in a way from a really practical perspective.

Wes Bos

It's not just solving a technical challenge. It's solving a actual developer experience challenge overall.

Wes Bos

Here's an annoying question. Does it scale?

Guest 2

Nope. Shut her down.

Guest 2

Yeah. It scales. I mean, we're we're a company. Right? We're in this to to grow up with you. So we have some really pnpm we have a free tier. We have a pretty cheap, like, developer tier for you all to get started.

Guest 2

But, like, really, this is just to get you in the door and start building stuff with us and getting excited about our technology, because we think our technology is compelling enough that we'll like, once you start trying it, that you're gonna wanna build businesses on this. Right? Cool. And so it's in our best interest and, you know, my, you know, bottom line personally for us to scale up with you. Right? And so we have the ability to make as many Node as you need to to scale out to as many regions as we can reach personally. Like, we're we're we're in this set to be partners with you to to build really cool stuff to reach millions and billions of people.

Guest 1

Yeah. And and Wes you connect to your cluster address, which is your project ID, for example.

Guest 1

And, we have load balancer distributed globally.

Guest 1

And so you can be sure that your customer will always be connected to the node with a lower latency.

Guest 1

So if you're a customer in Europe, they all connect to European note, for example, and so for all over Ray Jones worldwide.

Wes Bos

Yeah. Wow. This JS, been really eye opening. Again, I I've I've checked out a lot of products in this space, and and this one really checks a lot of the boxes for me in terms of stuff that I've been really missing out on. So, thank you so much for for coming on today and enlightening us. Now JS part of the show where we talk about sick picks and shameless plugs, did you guys come prepared with a sick pick? Do you do you know what that is? I did. Yeah. I came prepared. Sick.

Wes Bos

What is your sick pick?

Guest 2

Yeah.

Guest 2

My sick pick is it's an app that I use on iPhone. It's called Trainer Node, which I don't think it's not that unpopular, so I imagine many of your listeners probably have heard of it.

Guest 2

I'm on a journey to get more healthy. I mean, that's probably you know, every male in his thirties is probably thinking about the same thing as me.

Guest 2

This was just one that, like, I really enjoyed that, like, it kind of gives you, like, a graph that you follow on your bike. And so I have, like, a a kicker bike where I try and follow the graph and, like, go fast when I have to and go slower. It's been actually it's been cool to watch my VO two max kind of like which is like your ability to, like, take an oxygen kinda just trend up over time.

Guest 2

I've been trying to do it with Peloton for forever, and this is working way better me. So, yeah, that's that's my ESLint pick. What's it what's it called again?

Wes Bos

Trainer Node. Trainer Road. Okay. Cool. Yeah. I I get that with, like, it it does I'm sure it's like a added added motivation that you're outside instead of on the exercise bike inside. Both, which is cool. Oh, cool. Yeah. Oh, it does. Okay. So I I do have a a Peloton, and I I do ride it quite a bit. But I I find myself I pull up my, like, video game system while I'm riding my bike, and next thing you know, I'm, like, not trying at all. Yeah. Yeah. Exactly. Yeah. I I've definitely been there before.

Wes Bos

Yeah. I need to stay engaged here.

Wes Bos

Marco, do you have anything that you are are enjoying right now? Oh, well Could be anything.

Guest 1

Yeah. Well, I I am a semi professional tennis player. So I try Node do tennis every day or go to gym.

Guest 1

But, what I like more Node during this, I mean, I'm involved in in, a lot of logical things like writing code, managing a Wes, and reading books, and keep up to date with all the latest technology.

Guest 1

But I really enjoy gardening and, I mean, do something more manual.

Guest 2

Nice. You you should ask Marco about his church.

Wes Bos

Oh, yeah?

Guest 1

Yeah. Yeah. Several years ago, I bought, 17th century church.

Guest 1

And, I'm now trying to renovate the church because one day I'd like to be transformed the church in our office. Yeah. It's super cool. Wow. That's incredible.

Wes Bos

Minh, so tennis and, you you said how what level of tennis?

Guest 1

Oh, well, semi professional. I I do competition in in Italy. Yes.

Guest 1

Amazing. Nice. I started when I was much more younger.

Wes Bos

Wow. Cool.

Wes Bos

Where where are you at in Italy, by the way? I'm headed to Florence in a couple weeks here.

Guest 1

Oh, Florence JS, 2 hours away from where I live. I live between Parva Mantova in the north of Italy. It's, 1 hour south from Milan.

Wes Bos

Cool. Yeah. I've never never been before, so I'm I'm pretty stoked.

Wes Bos

That's exciting. Yeah. Excited to get out there.

Wes Bos

Anything you guys wanna plug or or or share with our audience, before we head out here?

Guest 2

I mean, I'll I'll I'd please come try us. Like, we're we're we're starving for feedback, and so we'll take all of it. We'll take all of the the praise or profanities that you wanna throw our way.

Guest 2

And then I I you can probably see in my background here. I'm in I'm in Minneapolis today. I'm usually live in live in Seattle, but I'm I'm here to teach a front end masters on containers tomorrow. So if if you're interested in that, check that out as well.

Wes Bos

Yeah. Shout out to front end masters. Awesome awesome resource. So, cool. We'll definitely have to check that out. And, this is the 1st time I've ever heard him say praise or profanity, and I gotta say, that's awesome. That's a really great little thing you got there.

Wes Bos

Yeah. Cool. Well, yeah, everybody give this a try. We'll post the links. We'll we'll make sure everybody has access to anything they need to to check you guys out. I'm gonna, I fired up a a database while we were talking here. I'm gonna I'm gonna get to work here and give this a a a good try. So thank you guys so much. It's been been really awesome.

Guest 2

Yeah. Thank you.

Guest 2

Just, super grateful to be on here. Wes intense. You so much, guys. Thanks.

Wes Bos

Well, thanks, guys.

Wes Bos

We'll talk soon. Okay? Peace. Peace. Alright. See you.

Share