Before Feb 14th the documentation and samples were using Microsoft.Azure.Graphs package.
Now they are using Gremlin.Net. (https://docs.microsoft.com/en-us/azure/cosmos-db/create-graph-dotnet)
Microsoft.Azure.Graphs will be discontinued? Which library is recommended?
Thanks
@ausfeldt please look into this.
Gremlin.NET is the recommended library to use going forward.Connecting to CosmosDB Gremlin server via Gremlin.NET is also expected to see better performance.
Microsoft.Azure.Graphs uses a different request processing approach which involved more round-trips to the server so it has overhead, in addition to being a number of releases behind what is deployed to the server.
@olivertowers As far as I can see the retry policy is only available in Azure.Documents and not in Gremlin.NET. Is that correct and if so is Gremlin.NET to have this policy included?
@olivertowers
My apologies for repeating myself... I posted this originally as part of a comment on #527 but it fits much better here...
I understand the current guidance for cosmos graph applications is to use the Gremlin.Net library but as of the current 3.3.2 release, the limitations with large / long running queries makes it a nonstarter right now.
While I certainly appreciate the latency guarantees cosmos provides, there are certainly use cases where execution time is not as important as actually getting the (right) answer.
M.A.Graphs ability to retry on 429 errors allows for complicated graph traversals to succeed where the same query issued via Gremlin.Net fails.
If you are going to charge for provisioned capacity, then there should be some flexibility in how that capacity is used... Some queries are just expensive and especially when dealing with a large graph can quickly run into RU/s limits. Instead of forcing us to overprovision, there should be options for opting out of the latency SLA and into a throttled execution mode.
Is there any update on this? @olivertowers
Hi,
Can anyone tell me how can migrate the my existing complex application which i have developed using Microsoft.azure.Graphs to Gremlin.Net ? What is major changes needs to be done so that it will not impact my application.
If Microsoft.Azure.Graphs is being replaced by Gremlin.Net, I wish MS would update the "GraphGetStared" sample .NET project that you get when creating a new Gremlin Cosmos DB in Azure. That makes it less confusing for newbies coming into this space.
I can recommend Gremlin.Net.CosmosDb which builds on top of Gremlin.Net but adds type-safety.
It has a simple sample:
https://github.com/evo-terren/Gremlin.Net.CosmosDb/blob/master/GremlinSample/Program.cs
Most helpful comment
Gremlin.NET is the recommended library to use going forward.Connecting to CosmosDB Gremlin server via Gremlin.NET is also expected to see better performance.
Microsoft.Azure.Graphs uses a different request processing approach which involved more round-trips to the server so it has overhead, in addition to being a number of releases behind what is deployed to the server.