Database configuration and best practices
Make sure your databases are ready before you install or upgrade Jive.
Prerequisites
To install Jive, you need to set up three databases: one each for the core application, the Activity Engine, and Analytics. While it's possible to run Jive without Analytics, any substantial installation needs to include it.
Database Administration
We highly recommend having a skilled database administrator in charge of your Jive databases.
- Database configuration Installation or upgrade goes more smoothly if you complete the database-related tasks first. Refer to the database-specific best practices below for information about how to configure your database to work with Jive.
- Supported database engines Jive supports recent versions of several databases.
- Setting up new databases When setting up new databases, you should ensure sufficient isolation, and set an appropriate number of connections.
- Upgrading databases If you plan to leave the database on the same system, no special configuration is required. If you're moving to a new database engine or system, migrate the system first, then upgrade.
Placement of Databases on Separate Servers
For large installations, it is recommended that the core application database, the Activity Engine database, and the Analytics database be hosted on separate database engines. At a minimum, disk and memory resources should be isolated for each service.
Why Separate the Core Application and the Analytics Databases?
The following points explain why it's especially important for your Analytics database to be separate from the application database. Ideally, they should be stored on two separate servers. While we technically support storing the Analytics and application databases on one server, here's why it's important to ensure isolation:
- Analytics has a very different access pattern from the Core Application database: many streaming writes, occasional reads, and busy activity once a day when the ETL runs.
- The storage requirements for Analytics are very different from the Core Application database requirements. The physical size of the Analytics databases grows much larger than the application database on busy systems. The IO profiles (the application database is a typical OLTP load, the Analytics database is OLAP) and the usage profiles (potentially large result sets, aggregates and ad-hoc queries are expected on the Analytics database) also support isolation of the application and analytics resources.
- The Core Application database is more critical than the Analytics database. Therefore, the Analytics database should not be in a position to demand resources that the core database may need.
- The Analytics database is intended to be accessed by users running ad-hoc queries. Because the application cannot predict which queries users may run, a bad query could execute and thus consume all of the server's capacity.
Attachment Storage
You should configure attachments for storage by using a file system provider rather than the database. Storing attachments in the database is possible, but is known to cause severe performance issues when the document store gets large and contends with the database cache. For more information about how to set up your file system storage, see Required external components and Configuring binary storage provider.
Database Collation
The database or database instance must be configured for UTF8 collation. Refer to the instructions for your individual database platform for instructions.
- Postgres database best practices For best results, configure and maintain your Postgres database according to the vendor's requirements and use the Jive best practices.
- Oracle database best practices For best results, you should configure and maintain your Oracle database according to the vendor's requirements and use the Jive best practices.
- Oracle database drivers and configurations In addition to the following recommendations, be sure and follow vendor documentation for driver installation best practices.
- Additional configuration for using Oracle 12 and 19 databases with SSL/TLS connection It is possible to set up the connectivity between the application and database servers to encrypt the data in transit, leveraging Oracle's support for SSL/TLS connections. Here you can find setup instructions.
- Microsoft SQL server database best practices For best results, you should configure and maintain your Microsoft SQL database according to the vendor's requirements and use the Jive best practices.
- MySQL database best practices For best results, configure and maintain your MySQL database according to the vendor's requirements and use the Jive best practices.
- Quick database setup for evaluations You can use the quick database setup procedure for evaluations and other light installations.