Requirements

The following license features, software modules, and minimum system settings are required in order to use the System Database and System Indexing features.

Required licensing

The Supervisor station must be licensed for the systemDb feature. There is also a check for the presence of “orientDb=true” attribute under the systemDb feature, which allows use of the default OrientDb backend database.

Also required is the systemIndex license feature with certain attribute limits. These attributes go under the "systemIndex" license feature in the Supervisor's license (license changes are not required on the remote JACEs)

  • station.limit

    Defines how many NiagaraStation instances (for example,JACEs) in the Supervisor’s NiagaraNetwork are allowed to participate in system indexing to put their entities into the SystemDb (subject to the entity limit that follows). This attribute is required for any remote entity indexing to occur against remote NiagaraStations. Once this limit is exceeded, additional NiagaraStations will be prevented from putting their index data into the SystemDb . The NiagaraStation's SystemIndexer component will go into fault indicating the license limit exceeded. Once the license limit is exceeded, the Supervisor station must be restarted in order to recount against the license limits.

  • station.entity.limit

    Defines the maximum number of entities that are allowed to be indexed to the Supervisor's SystemDb from an individual remote NiagaraStation source (for example, JACE). This attribute is required for remote entity indexing to occur against remote NiagaraStations. Once the limit is reached, any subsequent entities from a particular NiagaraStation is skipped from indexing.

Required software

You must install the following modules on the Supervisor station.

  • niagaraDriver (-rt)
  • niagaraVirtual (-rt)
  • niagaraSystemIndex (-rt, -wb)
  • orientSystemDb (-se)
  • systemDb (-rt)
  • systemIndex (-rt)

If you intend to export index data from the subordinate station, you need to install the following modules on the subordinate station. No additional modules are required.

  • niagaraDriver (-rt)
  • niagaraVirtual (-rt)
  • niagaraSystemIndex (-rt)
  • systemDb (-rt)
  • systemIndex (-rt)

Minimum system requirements

The minimum amount of memory needed depends on the number of entities, tags, and relations to be indexed. The following table is intended to serve as a guideline and does not guarantee that the suggested memory settings suffices in every production setting. These settings are the minimum required in the performance testing environment that allowed a System Database to function correctly.

 CAUTION: Memory settings that are too low could lead to faulty and unpredictable station behavior. When possible, use more than the minimum settings to optimize performance. 
Number of Entities Number of Tags Number of Relations -Xmx (MaxHeapSize) -XX:MaxDirectMemorySize
<= 1,579,000 <= 32,500,000 <= 3,210,000 4G 3G

Depending on the number of stations being indexed, you may need to increase both the MaxHeapSize and MaxDirectMemorySize beyond the minimum suggested settings. If starting your Supervisor station from the platform (Daemon Home), which is the preferred method, you need to modify these settings in the nre.properties file located in the Daemon Home (typically, C:\ProgramData\Niagara4.x\<brand>\etc).  If starting the Supervisor station from the command line in Workbench for test purposes, you need to modify these settings in the nre.properties file located in your User Home directory (C:\Users\userName\Niagara4.x\<brand>\etc). 

To set the MaxDirectMemorySize for the Daemon Home to 3G, open the nre.properties file in the Daemon Home and append –XX:MaxDirectMemorySize=3G only to the line of code that begins with station.java.options, as shown in the following example. Leave other code in the file unchanged.

station.java.options=-Dfile.encoding=UTF-8 -Xss512K -Xmx256M -XX:MaxDirectMemorySize=3G 
 NOTE: The nre.properties file located in the Workbench User Home also adjusts the Heap Memory used by Workbench as well as when launching a station from the Niagara Console window. To configure the Workbench heap size you would locate the nre.properties file (in your Workbench User Home) and make the modifications to that line. In the following example MaxHeap (-Xmx) is 1 Gb and MaxDirectMemory (-XX) is 3 Gb. You may also configure the memory size using the M notation referring to “megabytes” (-Xmx1048M) as shown.
wb.java.options=-Dfile.encoding=UTF-8 -Xss512K -Xmx1024M  -XX:MaxDirectMemorySize=3G 
 

Other requirements

When the Supervisor queries the System Database for information about subordinate stations (via NEQL), the resulting entities are resolved in the form of Niagara virtual components. Consequently, you must enable virtuals on the Supervisor station.

 IMPORTANT: You must set up user permissions for Niagara virtuals manually in the Supervisor via roles and permissions. For details, see “Authorization management” in the Niagara Station Security Guide