Perception's architecture

Applies to the following products: 
Questionmark Perception
Applies to the following Perception versions: 
Perception 5.4

Questionmark Perception 5.4 contains a zone-based architecture. This architecture means that each zone contains a specific application that, when configured to work together, form the Perception application.

How the zones work can be defined by an organization to create a deployment architecture suitable for its needs. With the flexible nature of Perception, this can be a number of different options. Perception is designed to be tiered and scalable. The deployment architectures are:

Type

Description

Single server

This setup is made of three separate servers. One application server (where Perception is installed), one database server, and one ETL server.

Load balanced

When it comes to load balancing, you have the option of load balancing Perception in both the single-server and multi-tiered configurations. Load-balancing provides a way of dealing with a high load while providing fail-over reliability for high stakes requirements.

Multi tiered

This configuration can include 4+ servers, where various parts of Perception are installed on separate servers to increase throughput of specific component(s).

The diagram below shows the possible configurations (click the image to enlarge it):

In addition to the new architecture, there are several new databases required to store data from each zone, as well as the shared repository database that has existed in previous versions of Perception. The databases required are shown in the diagram below, where:

  • Shared repository is the shared repository database as found in previous versions of Perception. This database contains the user, questions, assessments, and result data. This database is referred to as Perception_REPO in this guide. However, if you are upgrading from a previous version, this will be the name of your existing shared repository database.
  • Perception_MAIN contains administrative user data and is used to store configuration information for all the servers in the Perception installation
  • Perception_RW is the Results Warehouse, which (temporarily) contains the result data taken from the shared repository by way of the ETL service. The data stored in the Result Warehouse is used to form the various Analytics reports that exist.
  • ETL_Temp is the temporary ETL database used by the Extract, Transform, and Load (ETL) service and needs to be installed on the same machine as the ETL service. The ETL service retrieves data from the Shared Repository database, and, while it is transformed into meaningful data for Question Analytics, it is temporarily stored in this database before being loaded into the Results Warehouse.

When creating the Perception databases, as outlined, for instance, in step 11 and step 12 of single-server install, it is important to note that the databases must be separate databases with unique names. The configuration application assumes the databases will be unique and that none will be used more than once (i.e., it assumes that the Perception_MAIN database will not also be used as the shared repository).