I hope they will put more resources into fixing issues.
I remember there were multiple attempts to add it to ClickBench, but each time new bugs were found.
> It was loading the data for a week already, and the speed of loading data has dropped to 4 kilobytes per second, and it will take years to load the dataset.
And then on 2nd of August
> It loaded maybe 1% of the data so far.
And then one year after
> I didn't load the data after a year.
> I tried it with the fsync removed, but even then it does not work
Ok, I find this more entertaining than I should and almost unbelievable. I know that this codebase was heavily written by LLMs but the execution can't be this bad?
What am I missing and why would Supabase buy the product which can't even load the dataset properly?
You're looking at a software project months after its inception, saying it didn't work well then, and then asking why someone would buy it well over a year later...
We're aware of your woes with ClickBench. The first time you added it I even explicitly told you that it was way too early to even try that. The attempt you did recently was fair, but it's all in the ingestion before the benchmark, and does not show up anywhere, so we ended up spending time on this instead:
I really, really hope that Turso survives this, and doesn't become another "incredible journey". I'm excited about Turso as a technology, both as a better sqlite and as something theoretically capable of becoming an embeddable postgres-compatible database.
I hear you Josh, and I don't blame you because this does happen a lot. All I can say is that everyone is excited about this, on both sides of the aisle. From our perspective we'll have resources now to turbocharge the development of Turso, and things will only get better from here.
I wish you the best of luck in beating the odds and actually continuing to operate effectively post-acquisition for as long as possible. Turso is great, and I'm looking forward to the point where it feels like it crosses from "keep a close eye on" to "use in production with no qualms".
I have only ever interfaced with sqlite querying databases created by other applications so I'm not really super familiar with the application development side of it, but I've only ever heard praise of sqlite. Out of pure curiosity, what would a better sqlite look like, aside from postgres compatibility mentioned?
More async, more concurrency, more dialects (not just postgres), better defaults, ability to be called from safe languages without going by way of an unsafe FFI layer, open community...
This is a really interesting idea. I had never considered this before.
This would allow you to write PostgreSQL queries that work against a flat file or a Postgres server. Am I understanding the potential benefit correctly?
Supabase is a great product, we use it for all of our products, but we also need OSS solutions that can be self-hosted. For Supabase, I hope the platform improves. SQLite has become the standard, we need that standard (other than the SQL93 part) to be created and maintained so that other can drop a paid for product and handle the server-side themselves is the choose to.
Agree. supabase is a great product for prototyping. Their free tier is really helpful. But the value of instant access to a real postgres db is also where inevitable pain comes from. A prototype is fun until it's not and I've never managed to maintain app-based side projects longer than a few months. Only static deployments survive.
Supabase was really early in the "throwaway full-stack environments" space. Very helpful but I find myself moving to edge networks with sqlite in spite of my dislike for javascript.
Isn't this what this sounds like? You self-host Turso at the start, and you can gracefully scale to managed Turso (cloud), then to managed Postgres (Supabase). And Turso has experimental support for a Postgres frontend (alongside the SQLite frontend).
^ this is exactly the plan. An appropriate stack for each part of your journey.
The blog post captures it really well:
> As agents build more software, we believe database demand will outpace the world’s current capacity to support them. So we need infrastructure that can scale to meet this growth and is suited to how we build with agents.
> Agents should be able to create a database as easily as creating a file, with just as little concern about cost. For smaller workloads, that shouldn’t require provisioning a dedicated machine every time. Databases should be cheap to create, available on demand, and have a clear path to production when needed.
> SQLite is well suited to these small, on-demand workloads. Postgres is what you want as your application scales. We want builders to have the same developer experience from prototyping to production.
anecdotally I think this applies more specifically for 0-1 side-projects. They can be serious attempts at startups, but they start small and with AI the feedback loop should be rapid and fierce. For this you want lightweight infrastructure that the agent can reason about and not create a mess. So an edge network with sqlite is pretty killer.
This is great, I was a little worried that the turso project's future was tied to the success of turso the company and it has impacted a few of my technical choices and has resulted in me choosing sqlite over turso a few times.
I'll likely be choosing turso going forward for projects.
We started turso way before vibe coding became a thing, king.
And these days we use AI, like most people, but still review all the code ourselves before it goes in.
Very disingenuous to call turso a vibe coded project.
1. I've looked at how Turso verifies the correctness of their db and I'm satisfied with it.
2. Turso supports features I want that don't exist and will not exist in sqlite.
I mean this is pretty obvious, I'm not using sqlite because it doesn't do what I want it to do. I also don't understand the repeated "sqlite is the best tested software" sentiment. I don't care if it's the best tested if it doesn't do what I want it to do.
I do not feel good about this. I really want SQLite (and the Turso re-write of it) to win for tiny apps that people will build more and more with LLMs. Desktop or server. Even serverless.
The core tech is open source so that is good. Will it stay? I guess Turso hosting was not making enough revenue?
Thanks but you do understand this makes it hard for folks to select Turso. With all good intentions parent companies kill acquisitions.
Supabase is hosted Postgres with wings. Turso seemed like it would be the same but using SQLite based approach.
So either Supabase now uses the Turso sync + Postgres or something that needs Turso or abandons it. Not sure and I am not asking, just sharing my thoughts.
I also have my own doubts about this acquisition, but as I explore sqlite-per-user models I'm also seeing benefits to having some central control plane. I thought they would've made a natural fit on Cloudflare.
Did you check out the post? Supabase sees Turso as the answer to workloads not well-suited for Postgres. This seems like a decent Yes, And proposition.
yup — we see Turso/SQLite as complementary to Postgres for specific use cases. The blog post doesn't mention it yet, but this will power our smallest instance — "Spark" https://x.com/saltcod/status/2106078176464036044
I am fully onboard with LLM generated code if that is what you mean. I literally get client work titled "Need Claude led Engineer". SQLite is a great option for the LLM enabled future.
> The core tech is open source so that is good. Will it stay? I guess Turso hosting was not making enough revenue?
You just answered your own question. Why would anyone pay for Turso if the core of the software is available for free and being licenced permissively under MIT?
Because they don't want to self-host/manage it. It looks like this is an acquisition, not an acquihire, so it's unclear whether or not Turso was making enough to sustain itself or not. There are plenty of companies out there who release open source software and make money off of hosted/managed offerings of it.
Liability. Compliance. Chain-of-responsibility. Risk. This has always been the case in business, and it will continue to be the case (at least until artificial intelligence actually replaces that need).
I’ve been watching Turso for a while. A very exciting project, and I’m excited to see what comes with the acquisition (especially seeing as Glauber’s stoked by it.)
They were aiming for better concurrency, I believe. If you're rewriting something regardless, might as well use a more modern language that's easier to reason about during development.
It's not odd at all if you understand the purpose of SQLite's governance model. Much better than letting VC + SV rat fuck everything for solitary monetary gain.
> It's not odd at all if you understand the purpose of SQLite's governance model.
The purpose of SQLite's governance model is to be a cult, that only accepts members who share the same religion.
The software happens to be good. Getting it away from that governance and turning it into an open community sounds great. And that can happen while still maintaining high standards.
No, this is just sour grapes because you clearly disagree with people that don't adhere to your ideology. Thank fuck for that, people like you are why devs get burnt out.
I haven't heard a cult literally defined as "any group that filters based on their religion". The definition most people have is https://www.merriam-webster.com/dictionary/cult which implies coercion, manipulation, extremism.
Can you explain your view more? Otherwise, this sounds like a motte-and-bailey game.
A church filters on religion (somewhat, many welcome respectful outsiders). A company or software project filtering on religion is very different.
They are, of course, free to do so; freedom of association is their right. Others are free to judge them for it, and to question whether they should be using the resulting software. The license is open, the community is not. So, seeing a project come along that looks to build something more open (and it's really saying something when "project whose governance is owned by a company, but open to pull requests" is more open) seems like a positive step.
(Also, as a database project, surely they shouldn't be mixing church and state. ;) )
It’s fast, with unparalleled stability, arguably better managed than any other software on earth, deployed on literally everything, so let’s… fork it for street cred?
Rewriting in Rust is usually an exercise in reducing serious security vulnerabilities and memory bugs, not improving speed or stability.
But with LLMs and massive, human-written test suites, rewrites aren’t a bad idea like they used to be. Rust is a perfect target language because it’s compiler is so strict and surfaces issues in a way that’s easy for either humans or LLMs to use.
For existing, mature projects like SQLite, the tests are human-written.
Even if they weren’t, LLMs are pretty good at writing tests because of Github being in their training sets. I rarely find that their tests are bad unless I underspecified what the project is supposed to do.
Disclaimer that I only vibe-code for personal projects, so I haven’t tested this at business scale.
Another way of describing Turso is a SQLite-compatible (same file format and C API) embedded database. If you start with SQLite but find you need async i/o, concurrent writers, and local replicas then Turso is a good option.
Because they wanted something like this story to happen. It's what VC does to open source, they aren't here to help or build communities they are here to make money. Nothing else matters.
Could be fun.made product on top of it.Pro plan is still too much, but free quota is too little.having a hard time balancing my hobby project.Still there's not really many alternatives, so probably we'll stick with it.Decent service.
It should not be X times slower than SQLite.
https://github.com/ClickHouse/ClickBench/issues/336
https://github.com/ClickHouse/ClickBench/pull/1009
> It was loading the data for a week already, and the speed of loading data has dropped to 4 kilobytes per second, and it will take years to load the dataset.
And then on 2nd of August
> It loaded maybe 1% of the data so far.
And then one year after
> I didn't load the data after a year. > I tried it with the fsync removed, but even then it does not work
Ok, I find this more entertaining than I should and almost unbelievable. I know that this codebase was heavily written by LLMs but the execution can't be this bad?
What am I missing and why would Supabase buy the product which can't even load the dataset properly?
So, I think my curiosity still stands.
Yeah, ok, I took the date from [1] but you're right the project did in some sense exist before then.
[1] https://turso.tech/blog/we-will-rewrite-sqlite-and-we-are-go...
https://turso.tech/blog/turso-0.8.0
In any case, this is on our radar and we do intend to improve it but not the highest priority right now.
Ah Alexey, never change
> Turso - it is ridiculously slow, can't believe that: revert the single-transaction import, cap per-query wall-clock
For example, https://github.com/Mooncake-Labs/pg_mooncake
This would allow you to write PostgreSQL queries that work against a flat file or a Postgres server. Am I understanding the potential benefit correctly?
Supabase was really early in the "throwaway full-stack environments" space. Very helpful but I find myself moving to edge networks with sqlite in spite of my dislike for javascript.
And then hopefully sharded Postgres via Multigres :crossedfingers:
The blog post captures it really well:
> As agents build more software, we believe database demand will outpace the world’s current capacity to support them. So we need infrastructure that can scale to meet this growth and is suited to how we build with agents.
> Agents should be able to create a database as easily as creating a file, with just as little concern about cost. For smaller workloads, that shouldn’t require provisioning a dedicated machine every time. Databases should be cheap to create, available on demand, and have a clear path to production when needed.
> SQLite is well suited to these small, on-demand workloads. Postgres is what you want as your application scales. We want builders to have the same developer experience from prototyping to production.
I'll likely be choosing turso going forward for projects.
(disclosure: I work at supabase)
Very disingenuous to call turso a vibe coded project.
2. Turso supports features I want that don't exist and will not exist in sqlite.
I mean this is pretty obvious, I'm not using sqlite because it doesn't do what I want it to do. I also don't understand the repeated "sqlite is the best tested software" sentiment. I don't care if it's the best tested if it doesn't do what I want it to do.
That’s an interesting tradeoff, especially if this is a production grade application. Curious: what features is SQLite missing?
I'm a big fan of Glauber's work. He gives me the same neo-hacker vibe as Jarred, of Bun.
So this is pleasant news to me.
Jarred is a copycat on that front.
The core tech is open source so that is good. Will it stay? I guess Turso hosting was not making enough revenue?
This is a strategic acquisition and I fell in love with the vision Supabase had for how they would use Turso going forward.
More to come
Supabase is hosted Postgres with wings. Turso seemed like it would be the same but using SQLite based approach.
So either Supabase now uses the Turso sync + Postgres or something that needs Turso or abandons it. Not sure and I am not asking, just sharing my thoughts.
Love what you folks have been doing.
I would guess it's more that the founders want to exit before AI replaces them. (Based on the doom-and-gloom narrative in tech right now...)
(disclaimer, supabase employee)
You just answered your own question. Why would anyone pay for Turso if the core of the software is available for free and being licenced permissively under MIT?
We were doing fine.
This is a strategic acquisition and I fell in love with the vision Supabase had for how they would use Turso going forward.
More to come
Also, they're building a project that's more open to outsiders.
Sqlite is excellent but I still have many gripes with it, especially around defaults.
The purpose of SQLite's governance model is to be a cult, that only accepts members who share the same religion.
The software happens to be good. Getting it away from that governance and turning it into an open community sounds great. And that can happen while still maintaining high standards.
Can you explain your view more? Otherwise, this sounds like a motte-and-bailey game.
They are, of course, free to do so; freedom of association is their right. Others are free to judge them for it, and to question whether they should be using the resulting software. The license is open, the community is not. So, seeing a project come along that looks to build something more open (and it's really saying something when "project whose governance is owned by a company, but open to pull requests" is more open) seems like a positive step.
(Also, as a database project, surely they shouldn't be mixing church and state. ;) )
It’s fast, with unparalleled stability, arguably better managed than any other software on earth, deployed on literally everything, so let’s… fork it for street cred?
But with LLMs and massive, human-written test suites, rewrites aren’t a bad idea like they used to be. Rust is a perfect target language because it’s compiler is so strict and surfaces issues in a way that’s easy for either humans or LLMs to use.
Even if they weren’t, LLMs are pretty good at writing tests because of Github being in their training sets. I rarely find that their tests are bad unless I underspecified what the project is supposed to do.
Disclaimer that I only vibe-code for personal projects, so I haven’t tested this at business scale.
Turso has a booming OSS community with many contributors from outside the company and is fully MIT.
We are very excited to be a part of Supabase