How can I efficiently manage thousands of group members in SCIM and retrieve their details using SCIM v2.0 to verify them?

Managing thousands of members in a database efficiently requires strategies to minimize the number of database calls and improve overall performance. Making thousands of individual database calls to fetch data for each member is not cost effecting so what can be ways to manage these members efficient?

Hello, @Divyansh

To manage thousands of members efficiently in a database, you can:

Batch Processing: Fetch and update data in batches instead of one by one.

Indexing: Ensure proper indexing to speed up query performance.

Caching: Use caching to reduce the number of database calls.

Pagination: Implement pagination to handle large datasets in chunks.

Stored Procedures: Use stored procedures to execute complex queries on the database server side.

Data Sharding: Distribute the database across multiple servers to balance the load.

These strategies help minimize database calls and improve performance.

I hope this will be short out for you

It’d be better if you clearly indicate which of managing aspects concerns you?

The problem is that I have a group thousands of members, and I want to update or get them using SCIM v2. Additionally, I need an acknowledgment as a response for this large number of members. Is there a way in Okta SCIM v2 to handle such a large number of members?

I don’t see why it can’t be done with SCIM Group Push. An alternative approach which I’ve also implemented was to populate all groups which a user is a member of into a user profile attribute, so that it has a format of “Group1, Group2, Group3” and then it’ll be just user update operation.

It has its own drawbacks though, as you need to have something (in my case it was Okta Workflow) which will translate Okta group membership add/remove event into the relevant user modification operation in Okta.

I strongly suggest against it, unless you realize and ready all the consequences. I’d rather encourage you to try Group Push approach first.

As for GET Groups - I don’t see any issues at all, as it’s a part of a normal import operation implemented with SCIM