37
MongoMK

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

  • Upload
    mongodb

  • View
    105

  • Download
    2

Embed Size (px)

Citation preview

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