Contact usRequest a demo

Database

The Unblu Collaboration Server requires a relational database (RDBMS) to store all persistent data.

Compatible databases

Unblu is compatible with the database platforms listed below. The version number indicates the oldest version of the database platform supported by Unblu.

  • Oracle 12c, release 2 (12.2.0.1)

  • Microsoft SQL Server 2016

  • MySQL 5.7

  • PostgreSQL 10

  • MariaDB 10.2

Stored data

The Unblu Collaboration Server stores all its persistent configuration and operational data in the database:

Configuration data
  • Users

  • Teams

  • Named areas

  • API keys

  • Canned responses and their usage

  • Conversation templates

  • Tenant accounts

  • Configuration settings

Operational data
  • Conversation state data

  • Messages exchanged during conversations

  • Documents shared during document co-browsing

Deployment

Some personally identifiable information (PII) is stored in the Unblu database. Take this into consideration when deciding on the deployment details of the database.

Database location

The database is external to the Unblu server. In a cluster deployment, the database is outside the Unblu cluster. In an application server deployment, it’s outside the application server, usually on a separate machine.

In many cases, you can leverage your organization’s existing database infrastructure.

Server recommendations

Your database hardware requirements are a direct function of the types and volume of data stored. We can’t know how your system may evolve and therefore can’t define exact specifications for your particular needs. You should treat the recommendations that follow as a starting point.

  • Recent quad-core architecture

  • 16 GB RAM

  • 200 GB disk (SSD)

The above hardware specifications provide capacity for roughly 50,000 sessions per week. This is equivalent to 200 sessions per agent per week for 250 agents.

Prerequisites

Before setting up the database, make sure the following prerequisites are in place:

  • The database must be created by a database administrator with elevated privileges. The initial database creation must be performed manually and varies slightly depending on your database platform.

    There are separate instructions for all supported database platforms in the documentation.

  • The default charset must be UTF-­8.

  • You must create the database users used by Unblu; see Database users below for details.

  • The initial database size requirement is less than 20MB (but see Document sharing and database size below).

    The database grows as the system is used and session audit trails are logged. These sessions only add a small amount of data (typically less than 20KB per session) to the database if the information stored is purely text.

Document sharing and database size

Document sharing can increase the size of your database considerably. Files can be uploaded via the file manager and stored in the database, a cloud storage system such as AWS S3, or in the file system. If you configure Unblu to store files in the database, the 20MB size requirement we made above will be insufficient.

If you expect a large number of documents, you should either configure a Remote Blob Store (RBS) in the database or use Amazon AWS S3 or a compatible service to store documents. For more information, refer to Setting up a dedicated document storage.

Database users

Unblu uses two database users to operate:

  1. An admin user with database owner (DBO) privileges.

    The admin user must have the rights to execute the following statements: CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT.

  2. A regular database user with the rights to execute INSERT, UPDATE, DELETE, SELECT on the tables created by the admin user.

Listing 1. Unblu database users
com.unblu.storage.database.user=unblu (1)
com.unblu.storage.database.password=<user-pwd>
com.unblu.storage.database.adminUser=unblu_admin (2)
com.unblu.storage.database.adminPassword=<admin-pwd>
1 The regular users with DML permissions.
2 The admin user with DDL permissions.

Upon initial setup of the system, you must start the server with the admin user so that Unblu can establish the database structure. Once set up, the server uses the regular user, ensuring adherence to security policies. At this point, you can remove the admin user from the Unblu server configuration. To do so, proceed as follows:

  1. Stop the Collaboration Server.

  2. Remove com.unblu.storage.database.adminUser and com.unblu.storage.database.adminPassword.

  3. Set com.unblu.storage.database.dbSetupEnabled to false.

  4. Restart the Collaboration Server.

Updates to the Collaboration Server usually require updates to the database. When they do, you must re-enable the database admin user in the configuration of the Collaboration Server. If you don’t, the database migration runs using the regular database user, which results in errors.

Configuring different database types

The documentation has separate instructions on setting up each database:

For the sake of convenience all the instructions use schemas and users called unblu, but you can choose any name you wish.

The user (and schema, depending on the type of database) must be created manually before you set up Unblu.

In-memory database

When no database configuration is present, Unblu launches using an embedded H2 database by default. This allows an administrator to log in and perform tests.

Don’t use the in-memory database for any production use case. All data is lost when you restart the server process.

Troubleshooting database migration issues

For information on possible database migration issues, refer to Troubleshooting database migration issues.