ArcGIS Data Store vs Enterprise geodatabase

When to use one or the other? What are the differences?

The Esri documentation states:

1) ArcGIS Data Store is an application that allows you to configure data storage for the hosting server used with ArcGIS Enterprise deployments on Linux and Microsoft Windows. If you are not a database expert, ArcGIS Data Store provides you with a convenient setup and configuration experience that creates the following types of data stores: relational data store (e.g., hosted feature layer data), tile cache data store (e.g., hosted scene layers), and others. More information is in the Esri documentation.

2) Reasons to use an enterprise geodatabase with ArcGIS Enterprise: The added functionality and dataset types available in an enterprise geodatabase allow you to publish more types of web layers than you can from a database. For example, you can publish routing services from network datasets, publish geodata services to use in replication workflows, and publish utility network services and trace network services from an enterprise geodatabase. The extra functionality available in enterprise geodatabases also provides you with more functionality in the feature services you publish.

The difference might be unclear after reading the previous two introductions (or short definitions). This post from the Esri Community offers more details, specifically JohnDye’s comment, which says:

(…) since you don’t want users creating, editing and deleting authoritative data but you also want them to be able to do some self-servicing of their basic GIS needs, you need a place for them to host their own data. That’s the point of the datastore. It’s a database that you can set up and pretty much not have to worry about. It’s a decentralized database to host (…) end user data. The data within the datastore is not authoritative – it’s user data. All their little files and personal layers.

When it comes to authoritative content – which where I work, we tend to define as content that a team of GIS Professionals creates, validates and publishes for end users to leverage within the Portal – that’s where setting up an Enterprise Geodatabase and registering it with your federated server(s) comes into play. To do this, you set up a normal Enterprise Geodatabase on SQL Server/Oracle/PostgreSQL/etc. – whatever your DB technology of choice is and then register that enterprise geodatabase with each of your federated servers.

Once that’s done, you load your authoritative content into that enterprise geodatabase and work with it the same way you always have. Direct-Connect from Catalog and run GP tools against it or if you’re brave, work with it at the DB level. The key to making this work seamlessly with Portal is federation. You must federate your Portal with ArcGIS for Server. Doing so means that anything you publish to ArcGIS for Server will be made available in Portal. It also means that your Portal Groups and Roles will determine who has access to the services being sourced from your Enterprise Geodatabase.

So once you’re federated and you’ve got your data loaded into your enterprise geodatabase and you’ve added it to an ArcMap session, go ahead and get it all nice and pretty and then publish it directly to your ArcGIS Server Site (Not Portal!). At this point, since ArcGIS Server is Federated with the Portal, it automagically gets picked up by the Portal as well and that resulting feature service will be added to your My Content directory in Portal. Depending on how your database is set up and registered with your Server, you may need to ensure that your Portal Users have database accounts in order to access the service.

With this approach, what you’re essentially doing is offering a decentralized data management system (ArcGIS Datastore) for end-user data so they can (…) do whatever they want with their personal data while simultaneously offering a centralized data system (your Enterprise Geodatabase) for authoritative/enterprise data.

In terms of managing data hosted in ArcGIS Datastore via Python, you don’t. With the above approach, it’s not your data to manage, it’s the user’s. You manage the Enterprise Geodatabase, user’s manage their own data within Portal and the Datastore will take care of itself. If you’re really edit data hosted in the Datastore through programmatic means, you’re going to need to get familiar with the REST API and manage the data through the Service’s REST Endpoints.

JohnDye; see complete comment.

Update 2024, 1: I strongly recommend checking the Esri white paper ‘Data in ArcGIS: User Managed and ArcGIS Managed‘. Particularly pages 9, 10, and 11 of the doc.

Update 2024, 2: Another interesting definition of what the ArcGIS Data Store is, and for which purposes it might serve, is this one of the user Scott_Tansley in this Esri Community post.


Discover more from My GIS Notebook

Subscribe to get the latest posts sent to your email.

Leave a comment