This document discusses how companies use NoSQL and Couchbase databases. It provides examples of common use cases such as social gaming, mobile apps, ad targeting, session stores, user profile stores, caching, content/metadata stores, and 3rd party data aggregation. For each use case, it describes the type of data stored in Couchbase and why Couchbase's features like low latency, horizontal scalability, and availability make it suitable for applications with those characteristics. LivePerson and McGraw Hill Education are discussed as examples of companies using Couchbase for real-time visitor engagement and an interactive learning portal respectively.
Unblocking The Main Thread Solving ANRs and Frozen Frames
How companies-use-no sql-and-couchbase-10152013
1. How Companies use
NoSQL and Couchbase
Dipti Borkar
Director, Product Management
Anil Kumar
Product Management
2. Two kinds of Database Management
System
OLTP / OLTP like
Operational Stores
Data warehouse or
Analytics system
3. NoSQL + Big Data
Operational database for
web and mobile apps with
high performance at scale
Map-reduce against
huge datasets to analyze
and find insights and
answers
4. Common Use Cases
Social Gaming
• Couchbase stores
player and game
data
• Examples
customers include:
Zynga
• Tapjoy, Ubisoft, Ten
cent
Mobile Apps
• Couchbase stores user
info and app content
• Examples customers
include: Kobo, Playtika
Ad Targeting
• Couchbase stores
user information for
fast access
• Examples customers
include:
AOL, Mediamind, Co
nvertro
Session store
• Couchbase Server as a keyvalue store
• Examples customers include:
Concur, Sabre
User Profile Store
• Couchbase Server as a
key-value store
• Examples customers
include: Tunewiki
High availability cache
• Couchbase Server used as a cache tier replacement
• Examples customers include: Orbitz
Content & Metadata
Store
• Couchbase document store
with Elastic Search
• Examples customers
include: McGraw Hill
3rd party data aggregation
• Couchbase stores social media and
data feeds
• Examples customers include:
LivePerson
5. Use Case: High-Availability Caching
High availability caching
User Requests
Application Layer
Read-Write
Requests
Cache
Misses
and
Write
Requests
Couchbase Distributed Cache
RDBMS
6. Use Case: High-Availability Caching
Data Cached in Couchbase?
Application characteristic
• Application objects
• Speed up RDBMS
• Popular search query
results
• Consistently low response
times for document / key
lookups
• Session information
• Heavily accessed web
landing pages
• High-availability 24x7x365
• Replacement for entire
caching tier
7. Use Case: High-Availability Caching
Why NoSQL?
• Low latency in sub-milliseconds with consistently high read /
write throughput using built-in cache
• Always-on operations even for database upgrades and
maintenance with zero down time
9. Use Case: Session Store
Data stored in Couchbase?
Application characteristic
• Session values or Cookies
(stored as key-value pairs)
• Extremely fast access to
session data using unique
session ID
• Examples include: items in
a shopping cart, flights
selected, search
results, etc.
• Easy scalability to handle
fast growing number of
users and user-generated
data
• Always-on functionality
for global user base
10. Use Case: Session Store
Why NoSQL?
• Low latency in sub-milliseconds with consistently high read /
write throughput for session data via the built-in object-level
cache
• Linear throughput scalability to grow the database as user
and data volume grow
• Always-on operations even particularly high availability
using Couchbase replication and failover
• Intra cluster and cross cluster (XDCR) replication for globally
distributed active-active platform
11. Use Case: Globally Distributed User Profile
Store
User ID / Profile Store
12. Use Case: Globally Distributed User Profile
Store
Data stored in Couchbase?
Application characteristic
• User profile with unique ID
• Extremely fast access to
individual profiles
• User setting / preferences
• User’s network
• User application state
• Always online system as
multiple applications
access user profiles
• Flexibility to add and
update user attributes
• Easy scalability to handle
fast growing number of
users
13. Use Case: Globally Distributed User Profile
Store
Why NoSQL?
• Low latency and high throughput for very quick lookups for
millions of concurrent users using built-in cache
• Intra cluster and cross cluster (XDCR) replication for high
availability and disaster recovery
• Active-active geo-distributed system to handle globally
distributed user base
• Online admin operations eliminate system downtime
15. Use Case: Data Aggregation
Data stored in Couchbase?
Application characteristic
• Social media feeds:
Twitter, Facebook, LinkedI
n
• Flexibility to store any kind
of content
• Blogs, news, press articles
• Flexibility to handle
schema changes
• Data service feeds:
Hoovers, Reuters
• Full-text Search across
data set
• Data form other systems
• High speed data ingestion
• Scales horizontally as more
content gets added to the
system
16. Use Case: Data Aggregation
Why NoSQL?
• JSON provides schema flexibility to store all types of content
and metadata
• Fast access to individual documents via built-in cache, high
write throughput
• Indexing and querying provides real-time analytics
capabilities across dataset
• Integration with ElasticSearch for full-text search
• Ease of scalability ensures that the data cluster can be grown
seamlessly as the amount of user and ad data grows
18. Use Case: Content and Metadata Store
Data stored in Couchbase?
Application characteristic
• Content metadata
• Flexibility to store any kind
of content
• Content: Articles, text
• Landing pages for website
• Digital content:
eBooks, magazine, researc
h material
• Fast access to content
metadata (most accessed
objects) and content
• Full-text Search across
data set
• Scales horizontally as more
content gets added to the
system
19. Use Case: Content and Metadata Store
Why NoSQL?
• Fast access to metadata and content via object-managed
cache
• JSON provides schema flexibility to store all types of content
and metadata
• Indexing and querying provides real-time analytics
capabilities across dataset
• Integration with ElasticSearch for full-text search
• Ease of scalability ensures that the data cluster can be grown
seamlessly as the amount of user and ad data grows
21. Use Case: Content and metadata store
Building a selfadapting, interactive learning
portal with Couchbase
22. The Problem
As learning move online in great numbers
Growing need to build interactive learning environments that
0101001001
1101010101
0101001010
101010
Scale!
Scale to millions of
learners
Serve MHE as well as third-party
content
Including
open content
Support
learning apps
Self-adapt via
usage data
23. The Challenge
Backend is an Interactive Content Delivery Cloud that must:
•
Allow for elastic scaling under spike periods
•
Ability to catalog & deliver content from many
sources
•
Consistent low-latency for metadata and stats access
•
Require full-text search support for content
discovery
•
Offer tunable content ranking & recommendation
functions
Experimented with a combination of:
XML Databases
In-memory Data Grids
SQL/MR Engines
Enterprise Search Servers
29. The Problem
Requirements Requirements Requirements
•
•
•
•
•
•
13
VOLUME
High throughput, really fast
Linear scale
Searchable (Views and M/R)
Supports both K/V & Document store
Cross data center replication
“Always on”, Resilience solution
TB
per month
1
~
PB
In total
1.8
B
Visits per month