Sunday 12 January 2020

AEM Microkernel - Storage

Nodestore
In AEM, binary data can be stored independently from content nodes. The location where the binary data is stored is referred to as the Data Store, while the location of the content nodes and properties is called the Node Store.
Node Store Types:
1) Document Nodestore - This type needs to configure MONGODB
[org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.config]
2) Segment Nodestore - Stores Metadata , properties in TARMK implementation [AEM default]
[org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.config]
Note: By default , segment store folder creates under /repository folder.If still needs to change the path , we can use repository.home in config file

Data Store
When dealing with large number of binaries, it is recommended that an external data store be used instead of the default node stores in order to maximize performance. For example, if your project requires a large number of media assets, storing them under the File or S3 Data Store will make accessing them faster than storing them directly inside a MongoDB.
Data Store Types:
1) Amazon S3 datastore - To store more data’s in an external S3 bucket.[org.apache.jackrabbit.oak.plugins.blob.datastore.S3DataStore.config]
2) File Datastore - To store all binary data in same local file system.
[org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config]

Property Index - Stored in Nodestore
Lucene Index - Stored in datastore [PREFERED]

TarMK vs MongoMK
The basic rule that needs to be taken into account when choosing between the two is that TarMK is designed for performance, while MongoMK is used for scalability. Adobe recommends TarMK to be the default persistence technology used by customers in all deployment scenarios, for both the AEM Author and Publish instances.
The primary reason for choosing the MongoMK persistence backend over TarMK is to scale the instances horizontally. This means having two or more active author instances running at all times and using MongoDB as the persistence storage system. The need to run more than one author instance generally results from the fact that the CPU and memory capacity of a single server, supporting all concurrent authoring activities, is no longer sustainable.

TarMK with File Datastore is the recommended architecture for most customers:
Minimum topology: one Author instance, two Publish instances, two Dispatchers
Binary-less replication turned on if the File Datastore is shared

MongoMK with File Datastore is the recommended architecture for horizontal scalability of the Author tier:
Minimum topology: three Author instances, three MongoDB instances, two Publish instances, two Dispatchers
Binary-less replication turned on if the File Datastore is shared



Steps to configure nodestore and datastore in AEM6 can be referred from below adobe doc
https://docs.adobe.com/content/help/en/experience-manager-65/deploying/deploying/data-store-config.html#NodeStoreConfigurations

No comments:

Post a Comment