Social Content Management with MongoDB

Post on 10-May-2015

1.458 views 1 download

Tags:

description

We will provide an overview of the architecture and design of a lightweight content management system built on MongoDB. Ideally suited for managing social content -- creating a blog site, a discussion forum, or adding user generated content to an existing website -- Crafter Social is an open source Java app built on MongoDB. Our talk will focus on design considerations and MongoDB's unique features that make it perfectly suitable as a highly-scalable, multi-tenant social object store. We use MongoDB to store social objects of all types: user comments, threaded discussions, blog entries, and more. The document-oriented approach of MongoDB provides the foundation for social content management applications that need high-performance, high-scalability, and rapid speed of development. We also cover our design approach for user profile management, which supports configurable (on-the-fly) profile attributes, roles management, and pluggable authentication.

Transcript of Social Content Management with MongoDB

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Social Content Management with MongoDB

byRivet Logic

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Solution Requirements

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Common UGC Use Cases

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Multi-tenant

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Scalable

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Secure UGC Repository

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Lightweight Integration

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Solution Requirements

• Covers common UGC use cases

• Multi-tenant

• Scalable

• Secure UGC repository

• Lightweight Integration

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Crafter Social & Crafter Profile

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Crafter Profile

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Crafter Social

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Crafter Profile & Social

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Use Cases

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Blog

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Product

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Architecture Overview

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Social Integration

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Profile Integration

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

OOTB Applications

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Why MongoDB?

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Document-Oriented Storage

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Full Index Support

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Rich Queries

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Fast In-place Updates

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Replication

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

GridFS

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Auto-sharding

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Map/Reduce

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Why MongoDB?

o Document-oriented storageo Full Index Supporto Rich queries & fast in-place updateso Replication & high availabilityo GridFSo Auto-shardingo Map/Reduce

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

System Design

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Database Design

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Multi-Tenancy

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Security - Authentication

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Security - Authorization

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Scalability

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

Example - Simple Blog Demo

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

ARTISANS OF OPEN SOURCE

Copyright © 2013. Rivet Logic Corporation. All rights reserved.

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