Expand my Community achievements bar.

SOLVED

Storing large number of Users in AEM

Avatar

Level 3

we have a use case where we are suppose to store millions of user information  in AEM, users are actual end users and not the internal users of AEM.

This user information is basically stored in AEM because to support personalization of users. Is it feasible to store such huge number of user in AEM?  What is the best way to store such huge number of users in AEM.?

1 Accepted Solution

Avatar

Correct answer by
Level 4

It probably depends on what you're doing for personalization. I think there are some OOTB features that rely on the users being stored in AEM. However, I've also used the "script" trait in CQ 5.4 to enable personalization for user data stored in another system. You just need a way to get the relevant data from your other system to the JS code of your trait (eg cookie, local storage), and that way needs to be appropriate to the security needs of the user data.

View solution in original post

5 Replies

Avatar

Community Advisor

Nice use case.

Large number of user information would mean large number of JCR Nodes...

There are some general practices in AEM when willing to go for a large number of JCR Nodes:

  • Create a hierarchy of nodes.
  • Do not put everything under a single node
  • Do not create more then 512 nodes under a single node
  • Create balanced tree within your hierarchy of nodes
  • Do not use JCR Query Builder to traverse over millions of Nodes
  • Use batch based methods to populate your JCR structure
  • Try to avoid updates on large number of documents since in Lucene each update is delete followed by insert

Thanks,

Peter

Avatar

Level 3

Actually most of the user information is stored in another system which is hybris, But just to support personalization in AEM we are looking to store some part of the user details in AEM.

I haven't really worked on personalization so far but what my understanding is to implement personalization in AEM the users should be within AEM. Is my understanding correct?

Avatar

Correct answer by
Level 4

It probably depends on what you're doing for personalization. I think there are some OOTB features that rely on the users being stored in AEM. However, I've also used the "script" trait in CQ 5.4 to enable personalization for user data stored in another system. You just need a way to get the relevant data from your other system to the JS code of your trait (eg cookie, local storage), and that way needs to be appropriate to the security needs of the user data.

Avatar

Level 1

Hi Murali89​ ... how did you achieve this ?  I have same use case for an implementation.

Avatar

Level 4

Hi amitn47551657Murali89

We have a similar requirement, where we might need to store millions of users in two aem publish instances. Could you please let us know what might be a way to go about this? Did you also create users in AEM ?

We have similar requirement and will be really helpful if you could provide your response.

Thanks