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.
TarMK (Tar Microkernel)
Storage | TarMK 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. |
Performance | TarMK 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. |
Scalability | TarMK 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 Case | Ideal 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 & Restore | Backup and restore processes are straightforward because all the data is stored in a single location (local filesystem). |
Consistency | It provides strong consistency within a single instance, making it a good choice for scenarios where data consistency is critical. |
MongoMK (Mongo Microkernel)
Storage | MongoMK 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. |
Performance | MongoMK 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. |
Scalability | MongoMK 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 Case | Ideal 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 & Restore | Backup and restore processes are more complex because the data is distributed across multiple nodes in a MongoDB cluster. |
Consistency | MongoMK offers eventual consistency across the cluster, which might introduce complexities in certain scenarios. However, it is more resilient and scalable in distributed environments. |
Summary
Feature | TarMK | MongoMK |
---|---|---|
Storage | File-based | MongoDB |
Scalability | Limited | High |
Performance | Faster for single-node | Faster for large-scale, high write throughput |
Clustering | Not supported | Supported |
Complexity | Lower | Higher |
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
- https://experienceleague.adobe.com/search.html?lang=en#q=tarmk&sort=relevancy&f:el_product=[Experience%20Manager]
- Checkout our other blogs on similar knowledge on Working with AEM
Feel free to share your thoughts on this topic in the comments section below 👇 We would be happy to hear and discuss the same 🙂