We have a requirement to get the data from five tables linked to a single customer class. Once we get the records, we need to process the adaptive model on the customer data.
1. We cannot create one dedicated table with all the predictor columns(coming from 5 tables). As we have around 500+ predictors.
2. We cannot create a data base view to create the dynamic snap shot of the customer data.
Approach(Want to know the design impact): Get all the predictors into one BLOB column. That means I have a table with two columns one with CustomerID*, BLOB. Can we get the predictors from the BLOB column in order to run the adaptive models? If yes, what will the performance impact of having 500+ predictors reading from the BLOB.
So for this approach, you would need to leverage the Pega blob. For example, you create a new class with CustomerID (exposed) and a value list or value group property (storing all these predictors, not exposed).
This way these predictor ends up in the Pega blob.
If you read only 1 records, then I expect performance impact won't be huge. After all, a simple case opened by Pega using the Pega blob contains often hundred of data element if we count all the date in pages, page list, page grounp embedded in the case.
If you read many records at the same time, then it will be felt. This is why reports needs to run against exposed properly (and not the blob).
I'm not familiar with the details of your use case, but if you have a couple of tables that are related by a key, why don't you leverage data flow functionality to "left-join" them together (using a Compose shape)? This would result in a Customer class with nested elements for e.g. products, usage, etc. The OOTB DMSample application provides an excellent example of this
In the configuration of your Adaptive model rule, you can use predictors from the embedded pages just like you use predictors from the top level page.
Thanks for sharing your response. We did the same to implement the multiple predictors to the customer table. Its a great idea but what about the association rules? If I create association between two classes, does it save the system performance? Association is a way which pega has suggested to use in one of the documentations.