D1 is built on Durable Objects, where SQLite is used on top of a custom distributed storage layer. This blog post describes in detail how the system works:
I hit some issues where they worked in localhost but not in production. Fortunately, they're not dealbreakers. Unfortunately, my mind is very good at forgetting bad experiences (especially if they have a workaround), so I don't remember the issues.
I do know the transaction is handled "differently".
D1 is built on Durable Objects, where SQLite is used on top of a custom distributed storage layer. This blog post describes in detail how the system works:
https://blog.cloudflare.com/sqlite-in-durable-objects/
In short, while we don't technically fsync, we do much better. If the local disk suddenly explodes, we won't lose confirmed writes.
(I wrote much of said storage layer.)
Is D1 a dialect? I thought they actually run SQLite.
I hit some issues where they worked in localhost but not in production. Fortunately, they're not dealbreakers. Unfortunately, my mind is very good at forgetting bad experiences (especially if they have a workaround), so I don't remember the issues.
I do know the transaction is handled "differently".