Adobe Experience Manager helps you organize and manage the delivery of creative assets and other content across all of your digital marketing channels. Experience Manager customers who take advantage of MongoDB can deploy a highly scalable content repository to support their business needs, as well as migrate content from legacy systems. In this session, you'll learn how you can use MongoDB to deploy AEM systems at scale. The session will cover installation, sizing, and the tools available to automate and manage your cluster.
3. Agenda
Introduction to AEM and MongoDB
JCR2 – JackRabbit OAK
MongoMK Internals
MongoDB + AEM
High Availability
Scalability
4. No interactive QA today!
I'll be answering some of your questions at the end
5.
6. What is Adobe Experience Manager?
"It’s a comprehensive content management solution for building
websites, mobile apps and forms. And it makes it easy to
manage your marketing content and assets."
8. MONGODB FEATURES
JSON Document Model
with Dynamic Schemas
Auto-Sharding for
Horizontal Scalability
Text Search
Aggregation Framework
and MapReduce
Full, Flexible Index Support
and Rich Queries
Built-In Replication
for High Availability
Advanced Security
Large Media Storage
with GridFS
10. Why is MongoDB ideal for AEM?
General Purpose Database
Multiplatform
Scalable
Flexible Data Model
High Availability out-of-the-box
11. Why is MongoDB ideal for AEM?
Suitable for Content Management Systems
Runs practically everywhere
You are not constrained by your data set
Fits perfectly AEM flexibility needs
Reduces operational overhead
12. AEM + MongoDB => Business Value
• Improved Operational Efficiency
• Team Collaboration w/ Projects & Workflows
• Performance at Scale
• Enables Social and Community features
• Clustering
13. AEM is a Certified MongoDB
Enterprise Solution
16. AEM Architecture
• Main Components
– Apache Felix
– Sling
– Jackrabbit
• OSGi container for web framework and Java Content Repository -
JCR
17. AEM Internals
“Jackrabbit Oak is an
effort to implement a
scalable and
performant
hierarchical content
repository…”
AEM6
JACKRABBIT OAK CONTENT REPOSITORY
19. Jackrabbit Oak
• Open Source Apache Project
• Fully JCR2 (JSR -283) Complaint
• https://jackrabbit.apache.org/oak/docs/index.html
"Jackrabbit Oak is an effort to implement a scalable and performant
hierarchical content repository for use as the foundation of modern
world-class web sites and other demanding content applications."
20. JCR2
• Content Repository API for JAVA (JCR)
– Version 1(JCR1 – JSR 170)
• https://www.jcp.org/en/jsr/detail?id=170
– Version 2 (JCR 2 – JSR 283)
• https://jcp.org/en/jsr/detail?id=283
21. Jackrabbit Oak – JCR 2
Repository has it’s
own Query Engine
which includes
“pluggable” indexing,
concurrency and
version control:
Query Languages:
- Xpath
- SQL-2
22. Jackrabbit Oak – JCR 2
Repository can also
be configured to use
different storage
layers:
Storage Options:
- TAR
- MongoDB
- RDBMS
23. Jackrabbit Oak – JCR 2
Hierarchical – Structured and binary data
Query – SQL, Xpath and Java language binding
Access Control on Node and Property level
Versioning – Modeled after WebDAV DeltaV (RFC 3253)
Locking – Shallow and deep
Asynchronous Observation
31. MongoMK – Data Model
• Documents represent attributes or portions of the data
– This data keeps track of all changes occurred over time on an
attribute
– Multi-versioning support
• _id represents the node attribute according with a hierarchical / tree
structure
• _deleted field keeps track of deleted and created timestamps
• _revisions is used for concurrency and transaction control
– All changes are based on a revision
– Once revisions are committed that will be pointing to value "c"
– A revision is formed by
• Timestamp
• Counter
• ClusterId
32. MongoMK – Version Control
Revisions of content are maintained as
separate trees
34. MongoMK – Versioning & Concurrency
System provides version and concurrency
control of content revisions.
35. MongoMK - Versioning & Concurrency
• Transactions are handled by keeping reviews on a commit Root document
– commitRoot is the upper level document in the hierarchy where a transaction
initiated
• There's a conditional update to manage the collisions
{_id : “1:/home”, “_collisions.r14979e4b424-0-1” : { $exists :
false }}
39. MongoMK - Blobs
• Binary data can be stored either sharing the same Node
Data Storage Engine or a specific one
– Using the same simplifies the operational complexity
• This mechanism ensures:
– De-duplication of chunks
– Chunks immutability
43. Why is MongoDB ideal for AEM?
General Purpose Database
Scalable
Flexible Data Model
High Availability out-of-the-box
44. AEM - MongoMK
• Clustering: What’s the impact on the business if AEM is down?
– Productivity: Do you have a large number of content
contributors and developers that will be effected?
– Content Freshness: Are you in a business where high content
freshness, and time sensitive content updates are imperative?
• Scale: Is the Authoring UX suffering at scale?
– Large Volumes of content? Need capacity beyond a single
server.
54. MongoMK - UGC
• Social: Are you looking to implement Community features in
AEM?
• Scale: Does the customer need to scale to support large
volumes of content and page views?
• Scale: What is the UX (performance) of your web and mobile
channel as content and visitors grow?
• Scale: Is there an opportunity to lower infrastructure cost?
56. AEM + MongoDB
• AEM is a certified MongoDB Enterprise Solution
• MongoDB and AEM have a very good fit
• MongoDB is AEM solution for scalability demands/needs
• Highly Available storage layer
• Scalable
• User Generated Content ready
– Reads & Writes
58. Where to get more information?
• Online Documentation
– http://docs.adobe.com/docs/en/aem/6-0.html
– http://www.mongodb.com/lp/contact/mongodb
-adobe-experience-manager
• Technical Presentations
– http://www.mongodb.com/presentations/apac
he-jackrabbit-oak-mongodb
• White Papers
– http://www.mongodb.com/white-papers
59. Register now: mongodbworld.com
Super Early Bird Ends April 3!
Use Code NorbertoLeite for additional 25% Off
*Come as a group of 3 or more – Save another 25%
61. Feel free to reach out!
http://www.mongodb.com/norberto
norberto@mongodb.com
@nleite
62. For More Information
Resource Location
Case Studies mongodb.com/customers
Presentations mongodb.com/presentations
Free Online Training education.mongodb.com
Webinars and Events mongodb.com/events
Documentation docs.mongodb.org
MongoDB Downloads mongodb.com/download
Additional Info info@mongodb.com
Build lifetime value
Consitent across channels
Timely and personal
MongoDB provides agility, scalability, and performance without sacrificing the functionality of relational databases, like full index support and rich queriesIndexes: secondary, compound, text search, geospatial, and more
AEM is a MongoDB Enterprise Certified Solution. This means that it performs correctly and has been validated to operate under mongodb enterprise build.