statement : Reason to separate Repository separation: Segment /node store and datastore/binary store
Solution :
Performance:
- In an ideal AEM repository configuration, the segment store will be stored entirely in memory.
- Most AEM repositories have a data store which is too large to allow this, therefore we always separate them out.
- With the segment store stored entirely in RAM, you will see a massive increase in performance. The physical disk (Bare Metal), vDisk(VMware), EBS Volume (AWS) or Managed Disk (Azure) leveraged for the segment store should also be high performance RAID10 storage ideally SSD/Flash based with a sufficient amount of IOPS available.
- When sizing your AEM application servers, make sure to allocate enough RAM for an appropriate sized Heap,
Maintenance:
- By splitting the segment store and data store, you then have more flexible options for repository maintenances.
- By having a combined repository, the only way to reclaim disk space is is via a tar compaction (or RevisionGC).
- This can be a lengthy activity, depending on the number of changes to the repository — and in some AEM versions must be completed with the AEM instance offline.
- This means specific publishers will be out of the load balancer pool and your author will be offline during the maintenance.
- Separating the data store from the segment store allows you to do an online DatastoreGC, which can be very fast and can be done with the instance still up.
- In newer AEM versions with repositories under 1TB these maintenance processes — when run regularly (weekly) — can reclaim tens or hundreds of GB in a few seconds or minutes.
- Additionally, having moved to a split FileDataStore model, you will (on AEM 6.4) be able to take advantage of a new “tail compaction” maintenance task,
- which can be run online with even greater frequency, and only compacts data which has been added since the last compaction, giving you the advantage of always having an AEM instance which is lean and performant.
Storage flexibility:
- Separating out the segment store and data store allows you to place each on their own storage media.
- Segment stores can be placed on SSD volumes or Flash storage tiers for high performance, while your data store can leverage less expensive lower performance storage.
- If leveraging AWS for you AEM deployment, you can use S3 for the data store, which is really inexpensive and can be shared between publishers and author, thus reducing storage costs even more.
- Splitting these as well as logging onto separate volumes allows simultaneous writes to the different disks, further improving performance and removing potential bottlenecks.