The MDA (Matrix Data Architecture) is Gainsight’s proprietary back end infrastructure that serves as the foundation for your instance of Gainsight. From data storage to Gainsight’s Rules Engine, the MDA is the invisible layer that Gainsight operates on outside of Salesforce.
Gainsight designed the MDA in a very similar fashion to Salesforce, so that we can replicate multi tenancy within our product. Each salesforce environment in which you have Gainsight installed and active will have its own tenant associated with the MDA. This article explains how this connection is established and maintained.
The initial connection is established from the Integration page in the administration section of Gainsight. From here, Gainsight can authorize the connection between your Salesforce environment and MDA. This authorization must come from a user with a valid and active profile within your Salesforce instance.
This type of authorization is known as OAuth user authorization which means that the level of access you will have to your data in Salesforce from Gainsight will be directly determined by the level of access granted to that logged in user.
The MDA is actually a distributed system comprising of four different data store types:
- AWS Redshift: This is Gainsight’s primary bulk data store DB and holds all the actual data values that are stored in the MDA.
- Mongo DB: This is a NOSQL type database used to store all the schema / meta data for the tables that are in Redshift.
- Postgres: This database is used to store and process transactional type data and is used in specific parts of the Gainsight product, such as Scorecards 2.0 and Programs.
- Redis: This database is used to cache session data.