You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/cosmos-db/graph/bulk-executor-graph-dotnet.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,9 +16,9 @@ ms.devlang: csharp, java
16
16
17
17
Graph database often has a use case to perform bulk ingestion to refresh the entire graph or update a portion of it. Cosmos DB, which is a distributed database and backbone of Azure Cosmos DB - Gremlin API, is meant to perform if the load is well distributed. BulkExecutor libraries in Cosmos DB designed to exploit this unique capability of Cosmos DB and provide the best performance, refer [here](https://devblogs.microsoft.com/cosmosdb/introducing-bulk-support-in-the-net-sdk).
18
18
19
-
This tutorial provides instructions about using Azure Cosmos DB's bulk executor library to import and update graph objects into an Azure Cosmos DB Gremlin API container. This process makes use to create Vertex and Microsoft Edge objects programmatically to then insert multiple of them per network request.
19
+
This tutorial provides instructions about using Azure Cosmos DB's bulk executor library to import and update graph objects into an Azure Cosmos DB Gremlin API container. This process makes use to create Vertex and Edge objects programmatically to then insert multiple of them per network request.
20
20
21
-
Instead of sending Gremlin queries to a database, where the command is evaluated and then executed one at a time, using the bulkexecutor library will require to create and validate the objects locally. After initializing, the graph objects, the library allows you to send graph objects to the database service sequentially. Using this method, data ingestion speeds can be increased up to 100x, which makes it an ideal method for initial data migrations or periodical data movement operations.
21
+
Instead of sending Gremlin queries to a database, where the command is evaluated and then executed one at a time, using the BulkExecutor library will require to create and validate the objects locally. After initializing, the graph objects, the library allows you to send graph objects to the database service sequentially. Using this method, data ingestion speeds can be increased up to 100x, which makes it an ideal method for initial data migrations or periodical data movement operations.
The sample is available at .\azure-cosmos-graph-bulk-executor\java\
94
94
95
95
To run the sample, refer the configuration as follows and modify as needed:
96
-
#####Configuration
96
+
### Configuration
97
97
98
98
The /resources/application.properties file defines the data required to configure the Cosmos DB the required values are:
99
99
@@ -104,7 +104,7 @@ The /resources/application.properties file defines the data required to configur
104
104
***sample.sql.partition.path**: If the container needs to be created, this value will be used to define the partitionKey path.
105
105
***sample.sql.allow.throughput**: The container will be updated to use the throughput value defined here. If you're exploring different throughput options to meet your performance demands, make sure to reset the throughput on the container when done with your exploration. There are costs associated with leaving the container provisioned with a higher throughput.
106
106
107
-
####Execute the sample
107
+
### Execute the sample
108
108
109
109
Once the configuration is modified as per your environment, then run the command:
Running the above commands will execute the sample with a small batch (1k Vertices and roughly 5k Edges). Use the following command lines arguments to tweak the volumes run and which sample version to run.
125
125
126
-
####Command line Arguments
126
+
### Command line Arguments
127
127
128
128
There are several command line arguments are available while running this sample, which is detailed as:
129
129
@@ -145,7 +145,7 @@ transformation into the GremlinVertex class. They are as follows:
145
145
***GremlinPartitionKey**: Is being used to define which field on the class contains the partition key. The field name provided here should match the value defined by the partition path on the container.
146
146
***GremlinIgnore**: Is being used to exclude the isSpecial field from the property being written to the database.
147
147
148
-
#### Relationship Microsoft Edge
148
+
#### Relationship Edge
149
149
150
150
The RelationshipEdge is a fairly versatile domain object. Using the field level label annotation allows for a dynamic
151
151
collection of edge types to be created. The following annotations are represented in this sample domain edge:
0 commit comments