Database

Top  Previous  Next

Options in this group control how AggreGate Server stores its data in the database.

Database Clustering

Key name in the configuration file: databaseCluster

Value type: Boolean

Possible values: true or false

Default value: false

If this option is disabled, AggreGate Server works with a single database, that is the "classic" behaviour.

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:

Database URL setting is disabled
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.hsqldb.jdbcDriver

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.

note_further-wt

To allow AggreGate 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 /lib subdirectory of AggreGate Server installation or using AggreGate 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:hsqldb:file:db/AggreGate Server

This is a database-specific string that defines the database type, the file system path (local or network) to a database containing AggreGate 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 AggreGate Server use its embedded HSQL database to store data in ordinary text files in the db/ subdirectory of the AggreGate 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 AggreGate Server. Each database in the cluster is configured by the following settings:

Database ID. An unique user-defined string identifier of the database in the cluster.
Database URL. The address of the database. See Database URL setting 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 AggreGate Server instance.
Active. This is a read-only field that shows whether a database is currently being used by the cluster.

Saving Cluster Databases

When the Cluster Databases table is being saved, the server performs several procedures for the new and changed database records:

Connection with each database is being tested
Each newly added database is activated, i.e. connected to the working cluster
Data is being synchronized between new/changed database and other databases in the cluster

note_warning-wt

Since data synchronization may take significant time, saving Cluster Databases table may hang for several minutes.

Manual Cluster Databases Editing

Cluster databases are stored in the Database Cluster Configuration File. It is possible to edit this file directly, without using 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 AggreGate 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 AggreGate 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

Cloudscape 10 (Derby)

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 (any version)

Oracle9Dialect

Oracle 9/10g

PointbaseDialect

Pointbase

PostgreSQLDialect

PostgreSQL

ProgressDialect

Progress

SAPDBDialect

SAP DB

SQLServerDialect

Microsoft SQL Server

Sybase11Dialect

Sybase 11

SybaseDialect

Sybase

SybaseAnywhereDialect

Sybase Anywhere

Default value: HSQLDialect

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.

note_warning-wt

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.

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.

note_warning-wt

This option should be turned on only temporarily, for debugging purposes. It greatly reduces server performance.