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 /jar subdirectory of Iotellect Server installation or using Iotellect Server Launcher Properties File.  

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

Cache71Dialect

InterSystems Cache

DB2Dialect

DB2

DB2400Dialect

DB2 AS/400

DB2390Dialect

DB2 OS390

DerbyDialect

Apache Derby (v10.7 or above)

FirebirdDialect

Firebird

FrontbaseDialect

FrontBase

H2Dialect

H2

HSQLDialect

Hypersonic SQL

InformixDialect

Informix

IngresDialect

Ingres

InterbaseDialect

Interbase

JDataStoreDialect

JDataStore

MckoiDialect

Mckoi SQL

MimerSQLDialect

Mimer SQL

MySQL5InnoDBDialect

MySQL 5

MySQLInnoDBDialect

MySQL

OracleDialect

Oracle (old version)

Oracle9Dialect

Oracle 9/10g

Oracle 10g/11g

Oracle 10g/11g

PointbaseDialect

Pointbase

PostgreSQLDialect

PostgreSQL

PostgreSQLByteaDialect

PostgreSQL (bytea)

ProgressDialect

Progress

SAPDBDialect

SAP DB

SQLServerDialect

Microsoft SQL Server

Sybase11Dialect

Sybase 11

SybaseDialect

Sybase

SybaseAnywhereDialect

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?