March 22, 2020
Estimated Post Reading Time ~

AEM Microkernels - MongoMK vs TarMK



Latest AEM comes with Oak storage. Oak(Apache Jackrabbit Product) is a new JCR implementation with a completely new internal architecture.
There are two options for the AEM persistence layer back-end used by Oak: TarMK and MongoMK. Let us see the scenarios where each one is feasible and what are all the main differences.

TarMK vs MongoMK


Adobe recommendation says we must consider MongoMK when we come across below metrics

A number of named users connected in a day: in the thousands or more.
  • Number of concurrent users: in the hundreds or more.
  • The volume of asset ingestion per day: in hundreds of thousands or more.
  • The volume of page edits per day: in hundreds of thousands or more (including automated updates via Multi Site Manager or news feed ingestion for example).
  • The volume of searches per day: in tens of thousands or more.
Prerequisites for considering MongoMK as the persistence layer.
  1. Once we identified MongoMK as the persistence layer below factors are mandatory.
  2. Ensure involving MongoDB architects/ Adobe MongoDB Specialists for designing the solution.
  3. AEM Developers should work hand in hand with MongoDB developers to implement a successful solution.
  4. For a better turn around time, always ensure to have Mongo DB Maintenance License.
  5. Ensure the proposed design is validated by an Adobe Certified Experience Manager Architect to avoid any future issues. 
Advantages of MongoMK in Authoring Instances
Horizontal Scalability Support – MongoMK supports multiple AEM instances to share the same MongoDB instance.
Efficient Data Replication – MongoMK effectively delegates replication functionality to MongoDB, which has a mature model to maintain replica sets. The major advantage here is MongoDB replicas and AEM instances are independent of each other.
Distributed Authoring Team Support – Content authoring across different geographical regions is supported by Mongo MK. At first, data gets saved int the primary MongoDB and then gets replicated to the secondary DB replica sets.
Automated Failover Recovery – MongoDB supports automated failover. The efficient configuration can help in automated system recovery from data center failure.

Advantages of TarMK in Publish Instances
Automated Failover Recovery - The efficient configuration of TarMK provides Automated recovery during system failures.
24/7 availability: Code changes are released on one data center, validate the release and then release it to the other data center. TarMK supports such rolling release efficiently.
Efficient upgrades: AEM Upgrades and patch fixes needs rolling release, thus TarMK provides better support.

Huge Data considerations: Which one to use?
If most of the Data in (TB) are binaries, TarMK is a good fit and a data store on the file system. If the data (in multiple TB) is structured content/nodes, MongoMK is the better choice because we can share the data.

Sharding can be found at MongoDB Documentation: Overview / Adobe Experience Manager 6.0 / Deploying and Maintaining / or The MongoDB Manual.


Final Notes:
TarMK is optimized for single-node performance whereas MongoMK is designed for scalability and clustered deployments. Another factor is the volume of the data. Also, keep in mind the MongoMK setup/configuration/maintenance requires additional knowledge about MongoDB.

In my next blog I will be talking about MongoMK Recommended Deployments(AEM on MongoDB )



By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.