Question
Areteans
IN
Last activity: 4 May 2016 23:41 EDT
Question on Data Type Creation
There is a requirement that some user related information will be stored in a Data Type and those information will be accessed very frequently by all the users of some different applications (sibling applications). I have below questions on the creation of the Data Type:
1. The Data Type will have 4-5 columns and will contain around 60-70 records which should not increase down the line.
Now in the Records tab of the Data Type below some warning is coming:
The system could not generate a dedicated database table for this data type. Click on the link to get the SQL and ask DBA to run.
In older version of Pega we generally not used to map Data Table to a table for this many records. So the question is should we map the Data Type class to the table? But since the Data Type will be used frequently, won't there be a performance impact if we map to a table because of frequent database interactions?
2. What is the need for adding the Data Type in the Application? What will be the impact if not added?
3. We have added the Data Type in the build on Application so as per the inheritance it should appear in the Data Explorer for all the child applications (as I've mentioned the Data Type will be used by sibling applications). Do we need to add the same Data Type for each of the applications?
There is a requirement that some user related information will be stored in a Data Type and those information will be accessed very frequently by all the users of some different applications (sibling applications). I have below questions on the creation of the Data Type:
1. The Data Type will have 4-5 columns and will contain around 60-70 records which should not increase down the line.
Now in the Records tab of the Data Type below some warning is coming:
The system could not generate a dedicated database table for this data type. Click on the link to get the SQL and ask DBA to run.
In older version of Pega we generally not used to map Data Table to a table for this many records. So the question is should we map the Data Type class to the table? But since the Data Type will be used frequently, won't there be a performance impact if we map to a table because of frequent database interactions?
2. What is the need for adding the Data Type in the Application? What will be the impact if not added?
3. We have added the Data Type in the build on Application so as per the inheritance it should appear in the Data Explorer for all the child applications (as I've mentioned the Data Type will be used by sibling applications). Do we need to add the same Data Type for each of the applications?
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Tetrasoft India Private Limited
IN
Hello,
For
The system could not generate a dedicated database table for this data type. Click on the link to get the SQL and ask DBA to run.
Did you get the SQL run in Database? Is it executing properly there?
Which version of PRPC are you using now?
Please refer the below mentioned link once :
https://pdn.pega.com/forums/system-architect-essentials-i-71/data-type-pega-717
Areteans
IN
HI Swati,
Thank you for your reply.
My question was not about getting the SQL or executing it. My query was as per the given data volume of the data type should we create one dedicated table? What will be the performance impact? And what is the best practice suggested Pega in this scenario?
Pega Systems
IN
Should we map the Data Type class to the table?
- You can do that but data must be updated manually to database table initially.
- Better option would be to use “Database Class Mappings” wizard.
Won't there be a performance impact?
- No, if you want read the data then create relevant data page at node/requestor level.
What is the need for adding the Data Type in the Application?
- Data type will act as a local storage.
What will be the impact if not added?
- Nothing
We have added the Data Type in the build on Application so as per the inheritance it should appear in the Data Explorer for all the child applications (as I've mentioned the Data Type will be used by sibling applications).
- Have you tried using "Show or hide existing data types" option in Data Explorer?
Areteans
IN
Thank you Sarang for your reply.
There will be frequent update and read from data type (for each requestor session there can be up to 75 interactions per hour), so data page cannot be created (because refresh strategy can not built for all the interactions for a requestor session). So in this scenario should I map the data type with a table?
Yes, I've tried using the "Show or hide existing data types" option in Data Explorer, still the data type from the parent application is not visible. But as per your reply I guess this should not have any impact.
Pega Systems
IN
You should choose either Data Type or "Database Class Mappings".
I don't think having separate Database Table for a Data Type is a good option.
It will be better to create a Database Table first with required columns and create "Database Class Mappings".
Areteans
IN
So are you suggesting to create a dedicated table and not a data type for this requirement?
Pega Systems
IN
Yes
Citicorp Services India Private Limited
IN
Hello Parthasarathi,
1. If the data needs to be accessed by some different sibling applications, and some others should not access, then create a access deny rule instance and configure the when rule to allow only certain applications. Note create the data class in the organization level ruleset / framework level ruleset , if any framework is used.
2. If the data needs to be accessed by all the users in your organization, irrespective of the applications. Then you can create the data class at the organization level.
Please let me know, if this helps.
Thanks,
Gowrishankar.
Areteans
IN
Thank you for your reply.
Five sibling applications will use this data type, so I wanted to create the data type in the parent application i.e. built on application, however the data type is not visible in the data explorer of the child applications. So wanted to know is there any impact because of this.
Citicorp Services India Private Limited
IN
Though the data type is not listed in the data explorer of child applications, you should be able to access the Data pages created in the parent application. There wont be any impact if the data types are not listed in child applications.
Thanks,
Gowrishankar.
Areteans
IN
Can you please let me know whether to create a table for this data type for this particular requirement?
CapitalOne
US
1. The Data Type will have 4-5 columns and will contain around 60-70 records which should not increase down the line.
Now in the Records tab of the Data Type below some warning is coming:
The system could not generate a dedicated database table for this data type. Click on the link to get the SQL and ask DBA to run.
In older version of Pega we generally not used to map Data Table to a table for this many records. So the question is should we map the Data Type class to the table? But since the Data Type will be used frequently, won't there be a performance impact if we map to a table because of frequent database interactions?
-- Your understanding is wrong , Even older version we map data table to dedicated table otherwise system by default map the class to pr_others table and data stores in blob column of pr_others .
-- pr_others table stores all the junk data and if we run report on it it will be performance impact
--if we have frequent interaction with the data table , we need to use Declare Page /Data Page concept provided by pega so it will not impact any performance and based on data change in the data table need to write logic for data refresh.
1. The Data Type will have 4-5 columns and will contain around 60-70 records which should not increase down the line.
Now in the Records tab of the Data Type below some warning is coming:
The system could not generate a dedicated database table for this data type. Click on the link to get the SQL and ask DBA to run.
In older version of Pega we generally not used to map Data Table to a table for this many records. So the question is should we map the Data Type class to the table? But since the Data Type will be used frequently, won't there be a performance impact if we map to a table because of frequent database interactions?
-- Your understanding is wrong , Even older version we map data table to dedicated table otherwise system by default map the class to pr_others table and data stores in blob column of pr_others .
-- pr_others table stores all the junk data and if we run report on it it will be performance impact
--if we have frequent interaction with the data table , we need to use Declare Page /Data Page concept provided by pega so it will not impact any performance and based on data change in the data table need to write logic for data refresh.
2. What is the need for adding the Data Type in the Application? What will be the impact if not added?
-- If we need to store any data local to application we need data type otherwise no its upto us and requirements
Ex: We get Country numbers from interface instead of country names but we need to display country name on UI , so we maintained one data table to map country numbers with country names so we used data page concept and get country names from data table
3. We have added the Data Type in the build on Application so as per the inheritance it should appear in the Data Explorer for all the child applications (as I've mentioned the Data Type will be used by sibling applications). Do we need to add the same Data Type for each of the applications?
-- Not required , it will be accessible by default
Areteans
IN