Configuring Analytics database for high-availability

The Analytics database has special HA considerations because its connection string is stored in the core application's database.

All of the database information here assumes that you have successfully deployed your database system of choice in an HA configuration, ensuring that the database server itself is not a single point of failure.

The Analytics service supports the following database types:
  • Oracle
  • Postgres

Location of Analytics database configuration information

The Analytics database connection string, username, and password are stored in a table in the core application database in an encrypted format (not in an XML file).

Setting up connection string

The application requires you to add a DNS name or IP address for the Analytics database server deployed with the application. You set this connection string via the Admin Console at Reporting > Settings > Analytics. This string is then stored in the Core Application databases. For more information on what must be persisted in the core application database during disaster recovery, see Restoring database with persistent properties.

In the event of a failover, there are specific ways that the application uses this connection string to determine which Analytics server to failover to. Therefore, be especially careful when setting up the connection string as follows:

  • If a DNS name is used in the connection string (this is the preferred method), the name must resolve to an Analytics database server that is resolvable and reachable by the web application nodes in each respective data center (A or B).

    Using the web node names, but substituting a DNS name (analytics-virtual.example.com) in the connection string instead of an IP address, the DNS name must resolve to the Analytics database server analytics01-dcA.example.com when requested by either wa01-dcA.example.com or wa02-dcA.example.com and must resolve to analytics01-dcB.example.com when requested by either of the nodes wa01-dcB.example.com or wa02-dcB.example.com.

  • If an IP address is used in the connection string, it must be a virtual IP address that points to the Analytics database server that's available from both data centers.

    For example, given web nodes wa01-dcA.example.com and wa02-dcA.example.com, both in the data center A, and web nodes wa01-dcB.example.com and wa02-dcB.example.com in data center B, all pointing to the virtual IP address 172.16.100.2 in the Analytics database connection string, said IP address must resolve to the Analytics database server analytics01-dcA.example.com when requested by either wa01-dcA.example.com or wa02-dcA.example.com and must resolve to analytics01-dcB.example.com when requested by either of the web application nodes wa01-dcB.example.com or wa02-dcB.example.com.