Partitioning Aggregation
The JDBC connector supports the manual partitioning through configured SQL statements.
For example, if there is an employee dataset that has 100,000 rows with a sequential employeeId
field, the partitioning statements that can be used are as follows:
select x,y,z from a where employeeId <= 10000;
select x,y,z from a where employeeId > 10000 AND employeeId <= 20000;
select x,y,z from a where employeeId > 20000 AND employeeId < =30000;
…
select x,y,z from a where employeeId > 90000;
The above example has 10 partitions, handling approximately 10,000 accounts. The last row (with employeeId > 90000) handles a larger number of accounts depending on the total number of employees in the system.
Note
An additional aggregation option, noAttributePromotion
, has been added. If this attribute is set to true
, the attribute promotion is skipped during aggregation.
To enable partitioning, add the following attribute key-value pairs into the source XML using the REST API.
-
To trigger a specific operation rule, add the following:
Attribute Key –
partitionAggregationEnabled
Value –
true
-
To assign the rule to the source, add the following:
Attribute Key –
partitionMode
Value –
true
-
To use SQL statements or stored procedures for aggregation, add the following:
Attribute Key –
partitionStatements
Value – Enter either of the following:
-
SQL query
For example:
select x,y,z from a where employeeId <= 10000;
-
Stored procedure
For example:
EXEC emp ;
Important
To use a stored procedure with the
partitioningStatements
instead of a SQL query, you must add the following attribute key as well:Attribute Key –
useStoredProcedurePartition
Value –
true
-
Note
For more information on SailPoint's REST APIs, refer to Best Practices: REST API Authentication and REST API - Update Source (Partial) in the SailPoint Developer Community.