Database Requirements
The Kinetic Platform relies on multiple databases for different functionalities. Ensure that the appropriate database setup and configurations are applied before installation.
Required Databases
- Apache Cassandra (4.1+) – Primary data storage system.
- PostgreSQL Database Server – Required for Task workflow component and integration framework
- Elasticsearch (7.1 or higher) – Enables console access to aggregated log content, required for logs functionality.
Apache Cassandra (4.1+)
The Kinetic Platform uses Cassandra as the primary data storage system. Cassandra is a highly available distributed database with linear scalability and fault tolerance on commodity hardware or cloud infrastructure. Cassandra relies on the concept of "quorum" to provide consistency and subsequently requires at least three database nodes for use with the Kinetic Platform.
Note: For initial development work, a one-node cluster will work. For example, you can set up a one
node cluster on a desktop using products such as Oracle VirtualBox or Docker Desktop.
See the Getting Started page in the Cassandra Documentation for installation and configuration instructions.
Post-Install Configurations
- Ensure that Cassandra is configured for SSL.
- Ensure traffic from the application server hosts can access each Cassandra host on its configured client port (9042 by default).
- Increase the batch_size_fail_threshold_in_kb (cassandra.yaml) value from 50 to 500. This must be applied to each Cassandra server individually and requires a restart to be applied.
- Ensure each Cassandra node's time syncs with the Kinetic Request CE web server environment. Clock drift between the Cassandra cluster and the Kinetic Request CE web servers can cause issues when performing batch operations (including Kapp or form slug renames). Kinetic recommends using the NTP service to keep the servers in sync.
Important: There are a small number of Kinetic Platform operations that will ever exceed the default
batch_size_fail_threshold_in_kb
, but they are very important. Ensure that all Cassandra servers have had this value updated and the Cassandra process restarted before beginning the Kinetic Platform installation.The Kinetic Platform does not support using AWS Keyspaces for Cassandra storage.
SQL Database Server
The Kinetic Platform requires an SQL database for the Task workflow component. We highly recommend using:
- Postgres 9.5 and later
Important: Each tenant (space) within the Kinetic Platform will need its own database/schema. When using Postgres, this database can optionally be automatically created; however if you're using MS SQL or Oracle, the database needs to be created by a DBA before the new tenant is provisioned.
Recommended Hardware Requirements (x1)
- 8 Cores
- 16 GB RAM
- 400GB Storage
Elasticsearch (Version 7.1 or higher)
Elasticsearch enables Platform console access to aggregated log content, which allows administrators to search log content conveniently (common during production troubleshooting and development). While not required, if Elasticsearch is not configured as part of the Kinetic Platform installation, log content will be written to independent log files within the attached NFS path and inaccessible from the Kinetic consoles.
For information on installing and implementing Elasticsearch, see Elastic's Elasticsearch Guide.
Recommended Hardware Requirements (x2)
- 16 GB RAM
- 8 Cores
- 500GB Storage (unshared attached storage required)
Configuration Considerations
- Configure SSL for Elasticsearch to secure connections between the Kinetic application and Elasticsearch.
Post-Install Considerations
- Ensure traffic from the application server hosts can access each Elasticsearch host on its configured client port (9200 by default).
- Ensure you have established an acceptable rotation strategy based on your company's compliance policies for log file retention. During installation, you will be asked to provide a base Elasticsearch index prefix (
kinetic-platform-logs
by default). Log content will be written to Elasticsearch indexes using the provided prefix and the suffix-YYYY-MM-DD
(for example,kinetic-platform-logs-2020.01.01
). - Ensure an acceptable backup strategy is implemented.
- Ensure appropriate database maintenance tasks are scheduled.
Backup and Database Maintenance
- Implement an acceptable backup strategy to ensure data recovery.
- Schedule appropriate database maintenance tasks to optimize performance.
Updated about 9 hours ago