I am really loving the embedded sync function. There is no native php driver for libsql(turso) so the fact that I can get sqlite file and use Laravel native methods made it a 100x deal.
I did however hit a couple "issues" when I was optimizing indices where I caused a lot of GBs to be synced (around 50GBs over the billing period). I had a call with Gauba, founder of Turso, and he was very kind to waive it and further hear me how I am using it. I wouldn't call it a limitaion.
Frankly, if it fits your use case, it's quite cheap. Although I have seen that Cloudflare finally introduced sqlite download support.
What are you building if I may?
Thanks Lukas, for sharing your experience. I really loved reading your blog.
I'm building a SaaS app using Turso, Drizzle, Zod, and Next.js. I'm hosting the app with Cloudflare Pages.
Switching from Turso to D1 is quite easy due to Drizzle, and I might switch in future but it still needs a lot of improvements. What do you recommend, should I stick with Turso?
Sounds like a very light project, you will do great no matter where but...
I would totally stick with Turso. The latencies are marginal and you are getting a lot more for your bucks. A company doing one thing will always out do the one doing many things.
Though the key reason for me is that fact that I am not vendor locked in. If you ever want to host at Vercel, Netlify or just spin up your own Docker container with Bun as a web server and drop it on the ridiculously cheap Hetzner VPS, you just do that. Where as with D1 you would be tied and have a work-demanding migration.