Relational
Relational Database is a global server configuration property that defines how Iotellect Server stores its data in the NoSQL database. Its fields are mapped to the server configuration file.
Database Cluster Enabled
Key name in the configuration file: databaseCluster
Value type: Boolean
Possible values: true or false
Default value: false
If this option is disabled, Iotellect Server works with a single database, that is the "classic" behavior.
If enabled, the server works with multiple databases by replicating all write operations to each database and load-balancing all read operations. In this case:
The Database URL setting is disabled
The Cluster Databases table is enabled, allowing to configure databases participating in the cluster.
See database failover cluster for more information.
Database Driver
Key name in the configuration file: databaseDriver
Value type: String
Possible values: Any Java class name corresponding to a JDBC driver
Default value: org.apache.derby.jdbc.EmbeddedDriver
This option defines which JDBC (Java Database Connectivity) database driver will be used. Technically, it's a name of the driver's main Java class. For example, to use MySQL database for data storage set this option to com.mysql.jdbc.Driver
. Consult JDBC driver documentation to find out the proper value.
![]() | To allow Iotellect Server load any third-party JDBC database driver, a JAR (Java Archive) file containing this driver must be added to the server classpath by putting it into |
Database
Url
Key name in the configuration file: databaseUrl
Value type: String
Possible values: Database-dependent path string
Default value: jdbc:derby:database;create=true
This is a database-specific string that defines the database type, the file system path (local or network) to a database containing Iotellect Server data tables and any additional options. To figure out the correct value for your selected JDBC database driver, please consult its documentation. The default value for this option makes Iotellect Server use its embedded Apache Derby database to store data in ordinary text files in the database/
subdirectory of the Iotellect Server installation.
Cluster Databases
Key name in the configuration file: N/A, value is stored in Database Cluster Configuration File
Value type: Data Table
Possible values: N/A
Default value: N/A
The Cluster Databases table allows to view status and configure all databases in the Database Failover Cluster used by Iotellect Server. Each database in the cluster is configured by the following settings:
Database ID. A unique user-defined string identifier of the database in the cluster.
Database URL. The address of the database. See the setting Database URL of non-clustered database and database-specific notes for more information.
Weight. The greater is database weight in the cluster, the more read requests it will get.
Local. This flag should be set if the database is located on the same server machine with this Iotellect Server instance.
Saving Cluster Databases. When the Cluster Databases table is being saved, the server performs several procedures for the new and changed database records:
Each newly added database is activated, i.e. connected to the working cluster
Connection with the cluster is being tested
Data synchronization between new/changed databases and other databases in the cluster is initiated
Manual Cluster Databases Editing. Cluster databases are stored in the Database Cluster Configuration File. It is possible to edit this file directly, without using the Server Configurator.
Database Username
Key name in the configuration file: databaseUsername
Value type: String
Possible values: Any username suitable for the database server
Default value: sa
This option defines which username is used to log on to the database server. The default value allows connection to Iotellect Server's embedded database engine.
Database Password
Key name in the configuration file: databasePassword
Value type: String
Possible values: Any password suitable for the database server
Default value: ""
(empty)
This option defines which password is used to log on to the database server. The default value allows connection to Iotellect Server's embedded database engine.
Database SQL Dialect
Key name in the configuration file: databaseSqlDialect
Value type: String
Possible values:
Value | Database Server |
| InterSystems Cache |
| DB2 |
| DB2 AS/400 |
| DB2 OS390 |
| Apache Derby (v10.7 or above) |
| Firebird |
| FrontBase |
| H2 |
| Hypersonic SQL |
| Informix |
| Ingres |
| Interbase |
| JDataStore |
| Mckoi SQL |
| Mimer SQL |
| MySQL 5 |
| MySQL |
| Oracle (old version) |
| Oracle 9/10g |
| Oracle 10g/11g |
| Pointbase |
| PostgreSQL |
| PostgreSQL (bytea) |
| Progress |
| SAP DB |
| Microsoft SQL Server |
| Sybase 11 |
| Sybase |
| Sybase Anywhere |
Default value: DerbyTenSevenDialect
This option defines the Java class name for the database SQL dialect. For example, use MySQLDialect
if you use MySQL database to store data. If your database server is not listed in the table above, please contact the technical support team.
Minimum Connection Pool Size
Key name in the configuration file: databaseMinimumPoolSize
Value type: Integer
Possible values: 1 or more
Default value: 3
The minimum number of database connections to keep in the pool.
Maximum Connection Pool Size
Key name in the configuration file: databaseMaximumPoolSize
Value type: Integer
Possible values: 1 or more
Default value: 200
The maximum number of database connections to keep in the pool.
![]() | Maximum pool size must be set lower than the maximum number of simultaneous connections allowed to the backend database. Failure to do so will result to significantly degraded performance or unpredictable database errors. |
Connection Checkout Timeout
Key name in the configuration file: databaseCheckoutTimeout
Value type: Long
Possible values: 0 or more
Default value: 30000
Defines how long (in milliseconds) the server will wait for each database connection to be acquired from the connection pool. Zero value means wait indefinitely. Zero value is recommended for production environment, but default value defines relatively short timeout for the sake of fast database problem detection during system deployment.
Unreturned Connection Timeout
Key name in the configuration file: databaseUnreturnedConnectionTimeout
Value type: Long
Possible values: Non-zero
Default value: Null
Defines a limit to how long a connection may remain checked out. The default value of Null
indicates that there is no timeout applied to unreturned connections.
If set to a non-null value, unreturned, checked-out connections that exceed this value will be destroyed, and then replaced in the connection pool. Set this parameter to a value large enough that all intended operations on checked out connections have time to complete.
Use this parameter to manage unreliable Iotellect-based applications that fail to close connections. Changing this option to a non-null value may prevent connection leaks in production environments.
Database Session Timeout
Key name in the configuration file: databaseSessionTimeout
Value type: Long
Possible values: 0 or more
Default value: 2 minutes
Determines the duration of inactivity allowed for a database session before it is automatically closed. If no activity occurs within the specified timeframe, the session is terminated.
Batch Size (Zero to Disable Batch Updates)
Key name in the configuration file: databaseBatchSize
Value type: Integer
Possible values: 0 or more
Default value: 50
Maximum number of changes in a batch update, i.e. JDBC2 batch size.
Disable Connection Pooling
Key name in the configuration file: databaseDisablePooling
Value type: Boolean
Possible values: true or false
Default value: false
When connection pooling is disabled, all database connection errors are logged. This helps to troubleshoot database connectivity, for example when switching to a new database engine.
![]() | This option should be turned on only temporarily, for debugging purposes. It greatly reduces server performance. |
Connectivity
Value type: Reference
Possible values: N/A
When clicked, starts database connection test using current settings. If Database Cluster setting is enabled, all cluster databases will be tested separately with current database username and password.
![]() | This option is not available in Server Configurator utility. |
Was this page helpful?