Hello, I have a dataset with many values and when I need values from it I make a if inside a for to search it. And it takes too long, I was wondering if there is any way of querying the dataset, something like a database query, or so other way to reduce time? Thanks in advance.
Usually, when I use pam for provisioning vms and complex stuff I have an aux db created for things like that.
It's really useful. When a dataset because to big to be useful, I would either break the data on multiple datasets or just save the info to the aux_db and query just like you want it.
Yes, dataset is saved on pam_lib db, but It's not a good idea to access this data directly, as it can be changed by the development team without notice.
My two cents.
You cannot query a Dataset directly within the database. You do have some access to the Dataset through the OPEN API:https://docops.ca.com/ca-process-automation/04-3-02/en/reference/web-services/ca-process-automation-open-rest-apis#/Perform_Actions_on_a_Dataset_Object
but otherwise youll have to access the datasets from a process. Can you elaborate on the problem? What version are you running?
How large exactly is this Dataset?How long does it take to access when only a single process instanceis running?How long does it take to access when you have many process instances running?
And you should not "acces it".
It is way faster to copy it in a valuemap then search it locally.
When a process access a dataset, it locks it. So when several processes try to access the same dataset, they wait for each other to release it.
Just to add on what i've said :
Before PAM 4.2.2 HF07 or PAM 4.3 CP01 all dataset read operations cause a database lock against the dataset object in the Library database. This increases the performance effect of each dateset access and can cause database lock contention, especially if multiple Orchestrators are sharing the same Library database.