Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any plan to support MS SQL Server? #3769

Open
raymondsze opened this issue Jan 3, 2023 · 4 comments
Open

Any plan to support MS SQL Server? #3769

raymondsze opened this issue Jan 3, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@raymondsze
Copy link

raymondsze commented Jan 3, 2023

Temporal is awesome!
I read the documentation and tried the typescript examples. It do solve the current issue I am facing on distributed transaction.
However, I found that Temporal officially support MySQL and Postgres.
We are working on on-premise product and some customers require MS SQL Server for the persistence.
I would like to ask if there is any plan to support MS SQL Server. I found https://gitlab.com/lercher/temporal-sqls, but it seems not official.

@raymondsze raymondsze added the enhancement New feature or request label Jan 3, 2023
@raymondsze
Copy link
Author

any update?

@sync-by-unito sync-by-unito bot closed this as completed Mar 3, 2023
@yiminc yiminc reopened this Mar 3, 2023
@adeal
Copy link

adeal commented May 8, 2023

My org (Salesforce) is also interested in support for Sql Server as the underlying persistence store.

Is this being tracked as a feature request? We're open to ideas of making the initial contribution to the Temporal server.

@samarabbas
Copy link
Contributor

Hey @adeal currently there is no plan to support MS SQL Server is the persistence plugin. Initial contribution of the plugin is one concern but the bigger problem is ongoing cost of maintaining the plugin. Ideally we would first refactor the persistence which allows these plugins to reside in separate repos and injected at runtime. We also need to refactor the testing infrastructure where these plugins can be tested in a generic fashion.
Once we have this setup, then we can have external contributors provide and independently support plugins for other data sources.

@plaisted
Copy link

I've been tinkering with temporal persistence as a way to understand how things work a little better and was wondering if adding a built in grpc persistence implementation would be possible. It appears the storage is already abstracted into a set of interfaces. General idea would be to add a built in "grpc" persistence where configuration would be supplying an endpoint (or endpoints) + TLS information. The endpoint would then be responsible for implementing all the required grpc calls based on the existing persistence interfaces.

This would serve the same purpose as a golang plugin architecture but allow the standard temporal distribution (containers, binaries) to use custom persistence without modification (just add configuration). Obviously this comes at some performance cost (serialization, network hop) but thought I'd mention and see what people thought.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants