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.
Solved! Go to Solution.
Views
Replies
Total Likes
Hi @df94,
In general it is hard to answer your question straight forward - It depends on many scenarios
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
Hi ,
Please refer this document ,
https://cqdump.joerghoh.de/2022/07/05/whats-the-maximum-size-of-a-node-in-jcr-aem/
Hope this will help you to get some ideas .
Thanks
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.
I am trying to save form data that has a person's name, address, cost and date.
@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.
Hi @df94,
In general it is hard to answer your question straight forward - It depends on many scenarios
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
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
@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.