What is the difference between TarMK and MongoMK in AEM?

Share this

In Adobe Experience Manager (AEM), TarMK and MongoMK refer to different types of Microkernels (MK) used for the underlying storage and persistence layer of the content repository (Jackrabbit Oak). They are two different implementations of how AEM handles storage, scalability, and data distribution.

aem revision cleanup process

TarMK (Tar Microkernel)

StorageTarMK stores content in a local file system using a set of files (tar files) for persistence. This storage format is optimized for performance and is managed directly by the AEM instance.
PerformanceTarMK is generally faster and offers better performance for most AEM use cases because it is optimized for read-heavy operations, which are common in content management.
ScalabilityTarMK is best suited for single-node deployments or small clusters. It scales vertically, meaning you can enhance performance by upgrading hardware (CPU, memory) rather than adding more nodes.
Use CaseIdeal for environments where high performance is needed, and the content repository size is relatively moderate. It is often used in scenarios where AEM operates in a traditional, standalone mode.
Backup & RestoreBackup and restore processes are straightforward because all the data is stored in a single location (local filesystem).
ConsistencyIt provides strong consistency within a single instance, making it a good choice for scenarios where data consistency is critical.
AEM TarMK Vs MongoMK which one is good? Which one to use when?

MongoMK (Mongo Microkernel)

StorageMongoMK uses MongoDB as the underlying database for storage. Content is distributed across multiple nodes in a MongoDB cluster, providing a more scalable and distributed storage solution.
PerformanceMongoMK might be slower in read-heavy operations compared to TarMK, but it is designed to handle large amounts of data and high-concurrency scenarios better.
ScalabilityMongoMK is designed for horizontal scalability. You can add more nodes to the MongoDB cluster to handle increased load, making it suitable for large-scale, multi-node AEM deployments.
Use CaseIdeal for large enterprises that need to manage very large content repositories or have multi-region deployments. It is commonly used in complex AEM architectures with multiple AEM instances (author and publish instances) that need to share the same content repository.
Backup & RestoreBackup and restore processes are more complex because the data is distributed across multiple nodes in a MongoDB cluster.
ConsistencyMongoMK offers eventual consistency across the cluster, which might introduce complexities in certain scenarios. However, it is more resilient and scalable in distributed environments.

Summary

FeatureTarMKMongoMK
StorageFile-basedMongoDB
ScalabilityLimitedHigh
PerformanceFaster for single-nodeFaster for large-scale, high write throughput
ClusteringNot supportedSupported
ComplexityLowerHigher

So, basically, the choice between TarMK and MongoMK typically depends on the scale and architecture of the AEM deployment. TarMK is preferred for performance in simpler setups, while MongoMK is used for scalability in large, distributed environments.

Further Reference

Feel free to share your thoughts on this topic in the comments section below 👇 We would be happy to hear and discuss the same 🙂

Share this

Leave a comment

Your email address will not be published. Required fields are marked *