Upload
rivetlogic
View
1.130
Download
3
Embed Size (px)
DESCRIPTION
MongoDB is the leading NoSQL database, designed for building highly scalable applications, including content management solutions. This presentation provides an overview of the architecture and design of Crafter Social, a lightweight CMS built on MongoDB, suited for managing social content. The talk focuses on design considerations and MongoDB’s unique features that make it perfectly suitable as a highly-scalable, multi-tenant social object store, which can be used to for storing user comments, threaded discussions, blog entries, and more. We will also cover our design approach for user profile management, which supports configurable profile attributes, role management, and pluggable authentication.
Citation preview
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 1
Social Content Management with MongoDB
By Sandra O’Keeffe
Architect, Rivet Logic
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 2
Problem Definition
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 3
Solution Requirements Solution Requirements
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 4
General Solution for UGC
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 5
Multi-tenant
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 6
Scalable
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 7
Secure UGC Repository
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 8
Loosely Coupled Integration
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 9
Solution Requirements
• General Solution for UGC
• Multi-tenant
• Scalable
• Secure UGC repository
• Lightweight Integration
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 10
Crafter Social & Crafter Profile
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 11
Crafter Profile
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 12
Crafter Social
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 13
Use Cases
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 14
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 15
Blog
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 16
Product
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 17
Architecture Overview
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 18
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 19
Social Integration
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 20
Profile Integration
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 21
Out-of-the-box Applications
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 22
Why MongoDB?
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 23
Document-Oriented Storage
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 24
Reads & Writes
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 25
Replication
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 26
Auto-sharding
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 27
GridFS
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 28
Map/Reduce
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 29
Why MongoDB?
o Document-oriented storage o Full Index Support o Rich queries & fast in-place updates o Replication & high availability o Auto-sharding o GridFS o Map/Reduce
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 30
System Design System Design
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 31
Database Design
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 32
Spring Data
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 33
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 34
Multi-Tenancy
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 35
Security - Authentication
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 36
Spring Security Provider
http://wiki.rivetlogic.com/display/Crafter/Spring+Security+Filter+Configuration
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 37
Security - Authorization
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 38
Social Permissioning
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 39
Spring REST Applications
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 40
jQuery Client
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 41
Scalability
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 42
Example - Simple Blog Demo
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 43
Blog Listing
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 44
Blog Details
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 45
Threaded Comments
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 46
Profile Administration
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 47
Profile Creation
ARTISANS OF OPEN SOURCE Copyright © 2013. Rivet Logic Corporation. All rights reserved. 48
Q&A
wiki.rivetlogic.com/display/Crafter/Crafter+Social
rivetlogic.com
blogs.rivetlogic.com
facebook.com/rivetlogic
youtube.com/rivetlogic
twitter.com/rivetlogic
crafterrivet.org