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

Cosmos Table support #312

Closed
Stoom opened this issue Feb 14, 2022 · 2 comments
Closed

Cosmos Table support #312

Stoom opened this issue Feb 14, 2022 · 2 comments

Comments

@Stoom
Copy link

Stoom commented Feb 14, 2022

Would it be possible to support CosmosDB's Table API?

@bartelink
Copy link
Collaborator

bartelink commented Feb 14, 2022

Any objections would likely technical rather than philosophical. I can't say I've read Cosmos Table API docs in recent times (and definitely not used it) so some of what follows may require some fact checking, but I reckon I know enough to hopefully get us synced...

The conditional update mechanism's OCC loop is based on logic inside an embedded stored proc, which, AIUI is not available via the table API.

The future directions checklist Issue tentatively includes shifting from that stored proc to using the V3 batch API (TL;DR when the tip needs to shift to a fresh document, the batch will change the id of the existing tip and insert a fresh Tip document as a batched call, as the stored proc currently does - this is really just porting the same behavior, backend requirements, and RU consumption and likely wont win significant perf).

Do you have a particular reason that you feel that the standard CosmosDB 'SQL' API is not something you feel like routing through? (I have not dug deep, but would be surprised if the same perf or semantics are even attainable via the Table API?)

If its a question of data ingestion/migration, it may be possible to use the proSync or related templates in https://github.com/jet/dotnet-templates to manage syncing existing content from a table store into an Equinox.Cosmos store during a cutover period.

Feel free to drop by the DDD-CQRS-ES slack if you want to have a more interactive discussion...

@bartelink
Copy link
Collaborator

Closing due to inactivity. Please feel free to post follow-ups

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

No branches or pull requests

2 participants