Future sqlite3 support

Is there are longer term vision for sqlite support? Is it only supported at the moment due to the temporal unit tests and will eventually be dropped?

I can’t see migrations for the sql tool and the auto-setup docker shell script prevents you from using sqlite unless you disable schema setup. I’ve been using sqlite + litestream a lot more often but some of my projects could still benefit from temporal. I was looking at temporalite but its future probably depends somewhat on continued upstream sqlite support making it easy to build as well and there is a note at the top saying it’s not production ready.

If you’ve seen this question before it’s because I cut/paste this verbatim from slack support since I didn’t get an answer last time and we are drawing closer to production on a project and we’ve been using temporalite so far.

1 Like

@Shane sorry we didn’t reply in slack.

I will ask around and come back to you.

Regards,
Antonio

we are drawing closer to production on a project and we’ve been using temporalite so far

I think would not recommend using temporalite in a production setup at this time (and its readme indicates that too) . One reason is it starts all server roles in the same container and in a single process (similar to auto-setup) which makes it hard to scale and tune among other things.

Sorry I mean we’ve been using temporalite in development. I’m happy to use temporal proper but it looks like a little bit of work needs to be done to use it in production with sqlite. If production sqlite support is something you want to pursue.

I’m mighty tempted to use temporalite in production in the meantime though. A single temporal(ite) node ticks all my boxes despite the scaling and deployment downsides :cowboy_hat_face:

No worries at all. It wasn’t urgent.

@Shane there are no plans right now to support sqlite for production.

But please, feel free to open a feature request GitHub - temporalio/temporal: Temporal service

Also looking at the possibility of using Temporal with sqlite. Our use case is a multi-tenant architecture where the “tenant-level” services (i.e., services deployed per customer) are network-isolated and communicate with our main services via a pubsub messaging system. With this constraint we will be deploying a Temporal Server per tenant. The issue is we don’t want to deploy a managed MySQL/Postgres database for Temporal for every tenant so sqlite seems like a nice fit here.

@Shane Have you began using temporalite (or otherwise Temporal with sqlite) in production?