Supporting Partition Exchange for a NBAM implementation
If I partition exchange the CAR table in Oracle db (customer table, for example) which has a direct connection with my PegaMKT-Customer class for a NBAM implementation during business hours, does it affect the user journey on the UI or the NBAA recommendations?
What are the Pega guardrails around this or are there any best practices?
From a technical perspective, these details are hidden from the NBAA layer and would not have an impact, if however the customer data in the exchanged partition is different to what was there before, then yes, this would change the data on the UI and the recommendations.
To my knowledge, there's no guardrails around this, mainly because it's not visible at our level in the architecture. In terms of best practice, it's often a trade off between the maintenance and organisation benefits partitioning can a achieve and the overhead of managing the partitions. From a NBAA perspective, there's little direct benefit for partitioning, however if it's helping you and the organisation of your customer data then that's a bonus.
Can you elaborate on what you're trying to achieve?
We have 2 CAR tables - Customer and Product Holdings. Customer table has 120 attributes and has direct connection to our Customer class (and object). Product Holding is a child class under customer and is a page list under the customer object. Product holdings has about 10 attributes, and can contain from 3-40 products in the list per customer. The business expectation was to get these CAR tables refreshed once a day since they have upstream dependencies from EDW etc. However, since the call centre timings of our organisation are from 8 am to midnight 12:30, our pega refresh processes seem to be over running quite a bit and the customer data remains stale.
To resolve this issue, the DBAs here have suggested "Partition Exchange" as a mechanism to refresh our data during business hours.
Yes, partition exchange works on the principle of switching between active and passive tables within milliseconds.
However, from an NBAM perspective since the entire user journey is driven by customerid which is the primary key of the CAR tables andthis switching is going to happen real time between business hours, so I am not sure if it might have any adverse effects on the application.
As Nigel suggested, if the data integrity remains intact while the exchange is done, it should not have much effect from user perspective. You can test the same in a non production environment before applying to production.