Scaling and configuring the Forms database

Abstract

An overview of standard recommendations for scaling and configuring the Sitecore Forms database.

The Forms database contains submissions from the Forms component and cannot be combined with any other databases.

In the simplest Sitecore installation, there is one Forms database connected to one Sitecore instance hosting:

  • The Content Delivery (CD) role with the Forms component used by visitors to enter submissions.

  • The Content Management (CM) role with the Forms application used by content authors to manage forms and read submissions.

If your Sitecore installation has multiple instances, you can configure each instance to host the CD role and/or the CM role, and each role can have its own Forms database or not. However, each CM role's Forms application can only be connected to one Forms database. Because of this, in installations with more than one Forms database, you must replicate submissions between databases. The objective is to make sure that all Forms applications can read all form submissions.

Note

Forms databases that receive submissions from Forms components are called primary databases. Other Forms databases are called secondary databases.

You delete data in the secondary databases by deleting the data in the primary databases and letting the replication do the rest. If you do not want delete data by replication, you must implement a custom solution.

If your Sitecore installation has a single primary database, you can configure merge replication from the primary database to one or more secondary databases.

To do this, you create a merge publication in the primary database, and you configure the secondary databases to subscribe to the primary database merge publication.

This configuration might not perform well enough in high load scenarios, because each submission to the primary database requires all the secondary databases to receive the same submission via replication.

For example, if you have a single CD role with a primary Forms database, and one or more CM roles with their own secondary Forms databases, then you must:

  • Create a merge publication in the primary Forms database.

  • Configure all the secondary Forms databases to subscribe to the primary Forms database merge publication.

If your Sitecore installation has multiple primary databases, you can configure transactional replication from the primary databases to one or more secondary databases.

To do this, you create a transactional publication in each primary database, and you configure each secondary database to subscribe to all the primary database transactional publications.

For example, if you have multiple CD roles with their own primary Forms databases, and one or more CM roles with their own secondary Forms databases, then you must:

  • Create transactional publications in all the primary Forms databases.

  • Configure all the secondary Forms databases to subscribe to all the primary Forms database transactional publications.