Branch Versioning Part 2: Appending Data

In our first Branch Versioning post (Branch Versioning—What is it and How Does It Work?), we looked under the hood, reviewed some benefits, and noted some differences from Traditional Versioning. In this guide, we’re focusing on the topic of appending data.

 

 

What’s different with appending data that’s been Registered as Branch Versioning vs Traditional Versioning? Not much besides the ability to have a feature service as our target within the Append Geoprocessing tool.

Does it make a difference to use the Feature service as the target or a Direct database connection as the source?

To find out if this does make a difference, I executed the Append Geoprocessing tool with different connections. With each connection, I ran it with different numbers of records to append. Read on to view the results.

Executing Append GP tool via ArcGIS Pro session with Feature Service connections

1. 2,330 records execution times consistently around 1 minute

Visual showing 2,330 records execution times consistently around 1 minute

 

 

 

2. 44,754 records execution times consistently between 18 and 19 minutes

Visual showing 44,754 records execution times consistently between 18 and 19 minutes

 

 

 

 

Executing Append GP tool via ArcGIS Pro Session with Direct Database connections

1. 2,330 records execution times ranging from 18 seconds to 46 seconds

Visual showing 2,330 records execution times ranging from 18 seconds to 46 seconds

 

 

 

2. 44,754 records execution times ranging from 45 seconds to 1 minute 18 seconds

Visual showing 44,754 records execution times ranging from 45 seconds to 1 minute 18 seconds

 

 

 

Executing Append GP tool via Standalone Python script with Direct Database connections

1. 2,330 records execution time ranging from 21 seconds to 42 seconds

Visual showing 2,330 records execution time ranging from 21 seconds to 42 seconds

 

 

2. 44,754 records execution times ranging from 46 seconds to 1 minute 34 seconds

Visual showing 44,754 records execution times ranging from 46 seconds to 1 minute 34 seconds

 

 

 

As you might expect, our results from B & C have similar execution times. However, they do have a relatively wide range of execution times—there is no immediately visible difference other than the day.

The main thing that stands out is the increased execution time for option A. Comparatively speaking, the feature service scenario results were consistent from execution to execution. Since there are so many variables at play when reporting performance metrics, the environment used for this testing will be different from yours. Because of this, it would be helpful to execute similar tests in your environment.

Although there are alternative approaches to those used here, we chose to limit this exercise to tools readily available to ArcGIS Pro users. As a result, this smaller exercise is a good reflection of our experiences and most likely what most users will experience.

What can we take away from these tests?

While the execution times for append operation with direct database connections can vary, they are much more performant than append operations written to the feature service.

So why does this matter? There are several benefits to the service-based architecture, such as wider accessibility to information without wider access to the database. The ability to use feature service data as inputs/outputs to execute common GeoProcessing tools shows ESRI’s commitment toward service-based architectures and the customer effort to transition to a service-based architecture.

During that transition period, we may find exceptions like what we saw above—where it’s more performant for some users to maintain a direct connection to the database.

Don’t forget to take a look at the other posts in this series to learn more about using and maintaining the Esri Utility Network for gas: