why there is no savable option for node scope in Datapage?
why there is no savable option for node scope in Datapage?
***Edited by Moderator Marije to add Capability tags***
To see attachments, please log in.
why there is no savable option for node scope in Datapage?
Savable data pages in Pega cannot have a node-level scope because of potential data consistency issues in a multi-node environment. If you give access to the node level, a data integrity or data breach issue may arise.
Multiple Requestors: Node-level data pages are accessible by any requestor on the same node. If the data page were editable, multiple users could potentially modify the same data concurrently.
Locking Challenges: Implementing locking mechanisms to prevent conflicts in a multi-user scenario can be complex and resource-intensive. Pega avoids this overhead by restricting editability at the node level. Read-Only Suitability: Node-level data pages are typically used for storing reference data or common information that remains relatively static. Editability isn't a primary requirement for this use case.
Hi @Satya K ,
In Pega, a data page cannot be marked as "savable" when set to a "node" scope because it would create potential data inconsistency issues in a multi-node environment, where multiple requestors on the same node could potentially modify the data simultaneously, leading to data integrity problems; essentially, a node-level data page is meant to be read-only across all requestors on that node, not editable by any of them.
Regards,
Mohd Qizer Uddin
Hi @Satya K,
In Pega, Data Pages are used to load and cache data in memory for use in your application. The scope of a Data Page determines where the data is stored and how long it persists. The available scopes for Data Pages are:
Thread
Requestor
Node
However, you may notice that the Node scope does not have a "Savable" option, unlike the Thread and Requestor scopes. This is by design, and there are specific reasons for this behavior. Let me explain why:
Node scope means the data is shared across all users and sessions on the same Pega node (server).
It is typically used for read-only, static, or infrequently changing data that can be reused by multiple users.
Examples: Reference data like country codes, currency rates, or product catalogs.
Hi @Satya K,
In Pega, Data Pages are used to load and cache data in memory for use in your application. The scope of a Data Page determines where the data is stored and how long it persists. The available scopes for Data Pages are:
Thread
Requestor
Node
However, you may notice that the Node scope does not have a "Savable" option, unlike the Thread and Requestor scopes. This is by design, and there are specific reasons for this behavior. Let me explain why:
Node scope means the data is shared across all users and sessions on the same Pega node (server).
It is typically used for read-only, static, or infrequently changing data that can be reused by multiple users.
Examples: Reference data like country codes, currency rates, or product catalogs.
The "Savable" option allows a Data Page to persist its data to the database so that it can be reloaded later, even after the server restarts or the cache is cleared. However, Node scope does not support the "Savable" option for the following reasons:
Node-scoped Data Pages are shared across all users on the same node. If the data were savable, it would introduce complexities in managing updates and ensuring data consistency across multiple users.
For example, if one user updates a Node-scoped Data Page, it could affect all other users on the same node, leading to potential conflicts or unintended side effects.
Node scope is primarily intended for read-only data that does not change frequently. If the data needs to be updated, it is typically refreshed from the source system or database.
Since the data is not expected to change often, there is no need to save it to the database.
Node-scoped Data Pages are cached in memory for fast access. Saving the data to the database would introduce additional overhead and latency, which goes against the purpose of using Node scope for performance optimization.
If you need to save data persistently, you should use Thread or Requestor scope with the "Savable" option enabled. These scopes are user-specific and can safely persist data to the database without affecting other users.
Node scope is ideal for scenarios where:
The data is static or changes infrequently (e.g., reference data).
The data is shared across multiple users on the same node.
You want to reduce database calls and improve performance by caching the data in memory.
Suppose you have a list of countries and their codes that rarely change. You can create a Node-scoped Data Page to load this data once and reuse it across all users on the same node.
Data Page Name: D_CountryList
Scope: Node
Source: Database or external system
Refresh Strategy: On startup or based on a time interval (e.g., every 24 hours).
Since the data is static and shared, there is no need to make it "Savable."
Node scope is designed for shared, read-only data that does not require persistence.
The absence of a "Savable" option for Node scope is intentional to avoid conflicts, ensure consistency, and maintain performance.
If you need to save data persistently, use Thread or Requestor scope with the "Savable" option enabled.
By understanding these design principles, you can choose the appropriate scope for your Data Pages based on your application's requirements.
Hope you understand
Thank you
Question Solved
Question Solved
Question
Question Solved
Question
Question Solved
Question
Question Solved
Question
Question
Pega Collaboration Center has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.