ArcGIS Data Store allows you to create most data store types on more than one machine to make your data highly available and, in the case of tile cache data stores running in cluster mode and spatiotemporal big data stores, to make them scalable.
Your options for adding machines vary by data store type and are explained as follows:
Relational data stores
The first machine on which you install ArcGIS Data Store and create a relational data store is the primary relational data store machine. You can install and configure one other relational data store with the same GIS Server site, making this second relational data store machine your standby machine. Hosted feature layer data is replicated from the primary to the standby.
If the primary becomes unavailable (for example, if the primary machine crashes, loses power, or loses network connectivity), the standby machine is promoted to primary. You will only be without your hosted feature layer data for the short period of time it takes for the standby machine to become the primary—this can take up to a few minutes. Once the standby becomes the primary relational data store, it sends its backup files to the same location as the former primary machine.
If you can correct the problem with the former primary machine—for example, if the machine was unplugged and you plugged it back in, or the machine temporarily lost network connectivity but network connectivity was later restored—the former primary becomes the standby machine for the data store.
Failover scenarios for relational data stores
The following is a list of situations for which the standby machine becomes the primary for your relational data store. Note that the following three situations involve hardware or software failures.
- The primary data store stops working. ArcGIS Data Store attempts to restart the data store on the primary machine. If it cannot restart, the data store fails over to the standby.
- The primary's web app stops running and attempts to restart the web app on the primary machine. In the rare case that this does not work, the data store fails over to the standby machine.
- The primary machine is unavailable. This can happen if the computer crashes, is unplugged, or loses network connectivity. ArcGIS Data Store makes five attempts to connect to the primary machine. If a connection is not possible after five attempts, the data store fails over to the standby machine.
The only human-initiated situations that cause a failover are if the primary data store machine is deliberately taken offline, or the ArcGIS Server site administrator runs the makePrimary REST command on the standby machine.
Shutting down an on-premises Microsoft Windows machine that is serving as the primary ArcGIS Data Store machine does not cause the data store to fail over because Windows shuts down all services before shutting down the machine. Therefore, if you need the data store to be available while that machine is offline, manually promote the standby machine to primary first and then shut down the former primary ArcGIS Data Store Windows machine.
Tile cache data stores
The number of machines you can add to a tile cache data store depends on the deployment mode you use.
- In primary-standby mode, a tile cache data store can contain a single machine or, to provide fail-over functionality, it can contain two machines. The tile cache data store defaults to primary-standby mode.
- In cluster mode, a tile cache data store can contain multiple data store machines to provide for scalability.
Recovery after loss of a tile cache machine in cluster mode
If you have multiple machines in your tile cache data store for the purpose of high availability and one of the machines is lost or goes offline, you may need to redistribute scene cache data.
Attempt to bring the failed machine back online. For example, if a network or power cable is unplugged or the machine was shut off, you can rectify the issue by plugging in the network or power cable or turning on the computer. Once back online, the machine rejoins the tile cache data store and the data store continues to function.
If a machine crashes and cannot be resurrected, you need to take steps to ensure your scene layer caches are still highly available. See Recover a data store for instructions.
Spatiotemporal big data stores
You can install ArcGIS Data Store on several machines, create spatiotemporal big data stores on each, and register each one with the same hosting GIS Server site.
Always use an odd number of machines in your spatiotemporal big data store.
Data in the spatiotemporal big data store is duplicated on at least two spatiotemporal big data store machines registered to the same hosting server.
If any one machine fails, data still exists on at least one other machine. The data store replicates the data to another machine that is still functional.
You can install ArcGIS Data Store on more machines and create spatiotemporal big data stores that are registered with the same GIS Server sites. In this example, three machines are added: one to replace the one that failed, and two more to accommodate increased numbers of hosted spatiotemporal feature layers. Data is rebalanced across all seven machines. Data for newly published spatiotemporal feature layers is also distributed.
If you script the creation of multiple spatiotemporal big data store machines, one spatiotemporal big data store machine must be manually configured with the GIS Server site before you can script the creation of additional spatiotemporal big data store machines. Include wait times in your script to be sure the additional spatiotemporal big data store machines are not added at the same time.
A graph store can contain only one machine at this time.
You can create an object store that contains one machine or you can deploy an object store in cluster mode that contains three or more machines.
A single-machine object store with a large amount of disk space can provide you adequate drawing performance when viewing feature layers that are configured to use cached query responses. However, if you require scalability for cached feature query responses, deploy the object store in cluster mode when you create it. You cannot change modes after deploying.
If you deploy the object store in cluster mode, you can add machines to the object store cluster if the existing machines get overloaded. Similarly, if one of the machines in the object store cluster fails and you can't bring it back online, you can install ArcGIS Data Store on a new machine, and run the configuredatastore utility to add the new machine to the cluster.
When you enable query caching on new feature layers, the cached query responses for the new layers will use the new machine in the cluster.
Add a machine to a data store
Use the Data Store Configuration wizard to add a machine to an existing relational, tile cache, or spatiotemporal big data store. You can use the configuredatastore utility to add a machine to any data store except the graph store.
You can have one standby relational data store or tile cache data store that is running in primary-standby mode. You can have multiple machines in a tile cache data store spatiotemporal big data store, or object store. Add each machine, one at a time. All machines that participate in the same data store must use the same operating system and be the same ArcGIS Data Store release.
Use the Data Store Configuration wizard to add a machine to a data store
Follow these steps to use the Data Store Configuration wizard to add a machine to a relational, tile cache, or spatiotemporal big data store:
- Install ArcGIS Data Store on another server.
The standby and primary machines (for a relational data store or tile cache data store running in primary-standby mode) and each node in a tile cache data store running in cluster mode or spatiotemporal big data store must be installed on different physical servers. Be sure to use the same network account for the ArcGIS Data Store account on all machines in the data store.
- Open the ArcGIS Data Store Configuration wizard.
- Specify the fully qualified name of one of the machines in the GIS Server site.
The name is in the format gisserver.domain.com. Use the same GIS Server site as you did when configuring the primary relational data store or the other machines in your tile cache or spatiotemporal big data store.
- Type the username and password of the ArcGIS Server primary site administrator and click Next.
- Choose the type of data store you want to create. Be sure to choose the same type as is on the data store machine to which you want to add this machine.
- Specify a location for the new data store's directory and click Next.
- Review the information in the Configuration Summary. If it is correct, click Finish. If changes are needed, click Back to make corrections.
The High Availability Role shows this is a standby machine for relational data stores.
When the setup completes successfully, you have an additional data store machine to which the primary relational data store or other machines in the spatiotemporal big data store can replicate data, or you have an additional machine that can store caches for newly published hosted scene layers.
If there were errors with the setup, click Next on the Configuration Summary dialog box to reopen the Data Store Configuration wizard so you can provide different information. See Troubleshoot ArcGIS Data Store for causes and resolutions to setup errors.
Use the configuredatastore utility to add a machine to a data store
You can install ArcGIS Data Store on another server or servers and use the configuredatastore utility to add it to an existing data store. The utility is installed in <ArcGIS Data Store installation directory>/tools.
The standby and primary machines (for a relational data store or tile cache data store running in primary-standby mode), each node in a tile cache data store or object store running in cluster mode, and each node in a spatiotemporal big data store must be installed on different physical servers. Be sure to use the same network account for the ArcGIS Data Store account on all machines in the data store.
Follow these steps to use the configuredatastore utility to add a machine to a data store:
- Open a Command Prompt using the Run As Administrator option on the additional server where you installed ArcGIS Data Store.
- Run the configuredatastore utility, and provide the fully qualified domain name of a machine in the GIS Server site and the ArcGIS Server primary site administrator username and password. Also use the --stores operation to specify the type of data store to be created. Be sure to specify the same GIS Server machine name and data store type that you used for the data store to which you want to add this machine.
For example, this command adds a standby relational data store to a machine in the GIS Server site with fully qualified name agsserver.ntwk.com. The data store directory on this machine is c:\data\.
configuredatastore agsserver.ntwk.com siteadmin P$@pass c:\data\ --stores relational
Another data store machine is added to the data store.
See the configuredatastore section of the ArcGIS Data Store utility reference for syntax and more examples.