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.