This article supports Gainsight NXT, the next evolution of the Customer Success platform. If you are using Gainsight CS Salesforce Edition, you can find supporting documentation by visiting the home page, and selecting CS > Salesforce Edition.
Not sure what your team is using? Click here.
The MDA (Matrix Data Architecture) is Gainsight’s proprietary back end infrastructure that serves as the foundation for any instance of Gainsight. From data storage to Gainsight’s Rules Engine, the MDA is the invisible layer that Gainsight is operating on.
Gainsight designed MDA to replicate multi tenancy within the product. Data in MDA is organised and maintained in different types of objects:
- System Objects
- Standard Objects
- Custom Objects
Customer data is collected and stored in various data stores in any organization. It could be resident in CRM / ERP systems or it might reside in internal IT systems. In some scenarios, there could be third party aggregators/tools that collect the information, based on customer usage of the product.
The Gainsight Data Platform offers a mechanism through which all of this data can be managed in the matrix data model, and transform this data to derive business metrics through the tools offered by the Platform - Rules Engine, Aggregations, CTA's, etc.
Connectors are integrations that are offered out of the box to connect the varied data sources and sync up information into Gainsight.
Data Management information is categorized into:
- Managing Data In Gainsight
- Gainsight Standard Objects
- Data Spaces
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.
Components of MDA
Gainsight MDA uses the Polyglot persistence technology; a concept of having multiple types of databases to handle varying data storage requirements. The different types of databases used in MDA are Elastic File system, in-memory database, Columnar database, Graph database, and so on. All the databases are abstracted from you and are used based on scenario and purpose. The entire MDA architecture is hosted on the cloud infrastructure.
The following image depicts the Gainsight MDA storage architecture.