Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

What ways can I store data in AEM?

Avatar

Level 2

I am new to AEM and I am looking for ways to store data in AEM. What are the best ways to store form data that includes a person's name, address, date purchased, and cost, so that I can retrieve it later? Is it best in the JCR or should I use a database? Could you provide links as well? Thank you.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @df94,

In general it is hard to answer your question straight forward - It depends on many scenarios

  • What type of data you would like to store?
  • When and in which situation you want to retrieve them?

In Adobe Experience Manager (AEM), binary data can be stored independently from the content nodes. The binary data is stored in a data store, whereas content nodes are stored in a node store. Currently, there are two storage implementations available in AEM6: Tar Storage and MongoDB Storage.

For more details please refer to these articles and find out most suitable according to your requirement.
 
[0]: https://cqdump.joerghoh.de/2022/07/05/whats-the-maximum-size-of-a-node-in-jcr-aem/

[1]: https://aemcq5pedia.wordpress.com/2017/12/29/datastore-and-nodestore-in-aem-6-3/

[2]: https://www.aemtutorial.info/2019/05/storage-concepts-in-aem-65.html

Hope that helps!

Regards,

Santosh

View solution in original post

7 Replies

Avatar

Community Advisor

Hi @df94 

 

Would you please elaborate more on what kind of data you want to store in AEM?

 

AEM is a CMS tool and it primarily stores data as node in JCR but it also provides flexibility to store data in other solutions. 

 

 

Avatar

Level 2

I am trying to save form data that has a person's name, address, cost and date.

Avatar

Community Advisor

@df94 If you only want to store the form data then you can leverage other DB solution like mySQL . AEM is not a recommended solution to store the PII data.

 

You can store everything in AEM, I would like to avoid to store any sensitive data in there; one of the reasons is then AEM is security critical and and many AEM developers are not used to work under such constraints. Also AEM is not really helpful when you need to deal with such data, and it does not offer special protection or measures to help you here (for example it's very easy for code to use an admin session which can basically read all the data in the repository). So the governance and tests need to be much more stringent than in usual AEM projects.

 

Next, from an architectural point of view I would consolidate such sensitive data into a single place; If you have different publisher environment then it would be a challenge to consolidate the data.

 

Hope this help.

Avatar

Correct answer by
Community Advisor

Hi @df94,

In general it is hard to answer your question straight forward - It depends on many scenarios

  • What type of data you would like to store?
  • When and in which situation you want to retrieve them?

In Adobe Experience Manager (AEM), binary data can be stored independently from the content nodes. The binary data is stored in a data store, whereas content nodes are stored in a node store. Currently, there are two storage implementations available in AEM6: Tar Storage and MongoDB Storage.

For more details please refer to these articles and find out most suitable according to your requirement.
 
[0]: https://cqdump.joerghoh.de/2022/07/05/whats-the-maximum-size-of-a-node-in-jcr-aem/

[1]: https://aemcq5pedia.wordpress.com/2017/12/29/datastore-and-nodestore-in-aem-6-3/

[2]: https://www.aemtutorial.info/2019/05/storage-concepts-in-aem-65.html

Hope that helps!

Regards,

Santosh

Avatar

Level 5

AEM is used as CMS platform and if these data is authored in AEM use the jcr properties and nodes structuring the data.

If you store this on database you are relying and making one more system for integration.

Better to go and use permissions as well in AEM (ACL's) which are used for restricted content OOTB.

Hope this is helpful 

 

Avatar

Community Advisor

@df94 JCR is more of a hierarchical database that combines the benefits of RDBMS and file systems. It contains Items of nodes and properties and is stored in the form of paths. However, the Database provides more clear and flexible data structures. It also totally depends on the use case and size of data stored, whether Is there a complex relationship between data and does it require separate maintenance, performace related use cases etc.

Hope this helps.