Top Banner
MongoMK
37

AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Jul 25, 2015

Download

Technology

MongoDB
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MongoMK

Page 2: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MongoDB MicroKernel

• AEM 6 Scalable Storage Solution• Flexible • Multi-Datacenter Deployments• Geo Distributed Content• Auto-Failover

Page 3: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MongoMK

aem-author

Nodes Blobs

Settings

Changes

ClusterNodes

Metadata collectionContent node structureInternal AEM indexesMulti version structures

Blobs collectionBinary file chunks Enforces data de-duplicationSettings, Changes, ClusterNodes

Internal AEM collectionsConfiguration and settings data

Page 4: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MongoMK - Content

MetadataBinary / Blobs

Page 5: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Binary / Blobs

MongoMK – Metadata

Metadata

Page 6: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MongoMK – Data Model

Page 7: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MongoMK – Version Control

Revisions of content are maintained as separate trees

Page 8: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MongoMK – Data Model

Page 9: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MongoMK – Versioning & Concurrency

System provides version and concurrency control of content revisions.

Page 10: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MongoMK – Versioning & Concurrency

Page 11: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Binary / Blobs

MongoMK – Binary Data

Metadata

Page 12: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

AEM Blob Storage

TAR MONGODB S3

Page 13: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MongoMK - Blobs

Page 14: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MongoMK - Blobs

Page 15: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Scale

Page 16: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Why is MongoDB ideal for AEM?

General Purpose Database

Scalable

Flexible Data Model

High Availability out-of-the-box

Page 17: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing

Page 18: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

MONGODB SIZING

Availability Volume

Expected Latency Working Data Set

Page 19: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing - Availability

AEM

Editing

Curating

Validating

Primary

Secondary

Secondary

Page 20: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing - Availability

AEM

Editing

Curating

Validating

Primary

Secondary

Primary

Page 21: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing - Availability

Author Publisher

- Multiple Teams working on same content- 24/7 our 9/5 on single time zone - Backups and Maintenance Operations

- User Generated Content- Geographical deployment- Application Latency SLA

Page 22: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing - Availability

AEM - authorAEM - author

AEM - author

Primary

Secondary Secondary

Datacenter West Datacenter EastDatacenter Center

AEM - authorAEM - author

Page 23: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing - Availability

AEM - authorAEM - author

AEM - author

Primary

Secondary Secondary

Backups (hidden) Hot Backups (delayed)

Page 24: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing - Volume

Indexes Properties Multi Version

Nodes

Page 25: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing - Volume

Full Text Search Indexes

Blobs

Binary Chunks

Page 26: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing - Volume

• Space required by– Data– Indexes

• Read / Write Ratio• Computational Unit Capacity

– RAM – Disk

• Types of Disks!– CPU

Page 27: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Automatic Sharding

Three types: hash-based, range-based, location-aware

Increase or decrease capacity as you go

Automatic balancing

Page 28: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing – Working Set

Working Set

Rest of your Database

Page 29: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing – Working Set

• Percentage of data that is constantly request by the application – Indexes

– Recent Used Data

• Read / Write – Impacts the calculation of the RAM requirement

• Working Set Should Fit In RAM

Page 30: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Working Set Not in RAM

Page 31: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing – Working Set

• AEM Calculation of Working Set

– Internal MongoDB Indexes

– Constantly accessed Assets

• % of data access

– AEM Indexes

• Multi-version Indexes

• Lucene Indexes

Page 32: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Working Set Can Be Distributed Across Shards

Page 33: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Sizing - Latency

Primary

Secondary

Secondary

AEM

AEM

AEM

ONLY SECONDARY READS!

Page 34: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Deploy

Page 35: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

Rules for a Good Deployment

Prototype

Test

MonitorScale

Automate

Page 36: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems

AEM + Ops Manager

Scale EasilyMeet SLAs

Best Practices, Automated

Cut Management Overhead

Page 37: AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems