• Like

Thanks for flagging this SlideShare!

Oops! An error has occurred.

When_Should_I_use_NoSQL_Couchbase_SF_2013

  • 1,820 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,820
On SlideShare
0
From Embeds
0
Number of Embeds
6

Actions

Shares
Downloads
18
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. When should I use NoSQL Anil Kumar Technical Product Manager
  • 2. Today’s Agenda  Kinds of Database Management System  When is NoSQL a good fit  Application Requirement-based Use Cases  Common Use Cases
  • 3. Two kinds of Database Management System OLTP / OLTP like Operational Stores Data warehouse or Analytics system
  • 4. Adding a few more components OLTP / OLTP like Operational Stores Analytics Streaming Data ETL RDBMS Data warehouse Other legacy systems RDBMS Column stores Interactive BI & Reporting
  • 5. NoSQL + Big Data Map-reduce against huge datasets to analyze and find insights and answers Operational database for web and mobile apps with high performance at scale
  • 6. Enterprise Architecture Example click stream events profiles, recommendations, etc RDBMS Data Warehouses Reporting and BI
  • 7. Application Requirements-based Use Cases
  • 8. Application Characteristics - Data driven • 3rd party or user defined structure (Twitter feeds) • Support for unlimited data growth (Viral apps) • Data with non-homogenous structure • Need to quickly and often change data structure • Variable length documents • Sparse data records • Hierarchical data NoSQL is a good fit
  • 9. Application Characteristics - Performance driven • Low latency critical (ex. 1millisecond) • High throughput (ex. 200000 ops / sec) • Large number of users • Unknown demand with sudden growth of users/data • Predominantly direct document access • Read / Mixed / Write heavy workloads NoSQL is a good fit
  • 10. Common Use Cases Social Gaming • Couchbase stores player and game data • Examples customers include: Zynga • Tapjoy, Ubisoft, Tencent 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, Convertro Session store • Couchbase Server as a key- value 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
  • 11. Use Case: High-Availability Caching High availability caching RDBMS Application Layer User Requests Cache Misses and Write Requests Read-Write Requests Couchbase Distributed Cache
  • 12. • Application objects • Popular search query results • Session information • Heavily accessed web landing pages Use Case: High-Availability Caching Data Cached in Couchbase? • Speed up RDBMS • Consistently low response times for document / key lookups • High-availability 24x7x365 • Replacement for entire caching tier Application characteristic
  • 13. Use Case: High-Availability Caching • 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 Why NoSQL?
  • 14. Use Case: Session Store Session Store
  • 15. Use Case: Session Store Data stored in Couchbase? • Extremely fast access to session data using unique session ID • Easy scalability to handle fast growing number of users and user-generated data • Always-on functionality for global user base Application characteristic • Session values or Cookies (stored as key-value pairs) • Examples include: items in a shopping cart, flights selected, search results, etc.
  • 16. Use Case: Session Store • 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 Why NoSQL?
  • 17. Use Case: Globally Distributed User Profile Store User ID / Profile Store
  • 18. Use Case: Globally Distributed User Profile Store Data stored in Couchbase? • Extremely fast access to individual profiles • 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 Application characteristic • User profile with unique ID • User setting / preferences • User’s network • User application state
  • 19. Use Case: Globally Distributed User Profile Store • 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 Why NoSQL?
  • 20. Use Case: Data Aggregation Data Aggregation
  • 21. Use Case: Data Aggregation Data stored in Couchbase? • Flexibility to store any kind of content • Flexibility to handle schema changes • Full-text Search across data set • High speed data ingestion • Scales horizontally as more content gets added to the system Application characteristic • Social media feeds: Twitter, Facebook, LinkedIn • Blogs, news, press articles • Data service feeds: Hoovers, Reuters • Data form other systems
  • 22. Use Case: Data Aggregation • 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 Why NoSQL?
  • 23. Use Case: Content and Metadata Store Data Aggregation
  • 24. Use Case: Content and Metadata Store Data stored in Couchbase? • Flexibility to store any kind of content • 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 Application characteristic • Content metadata • Content: Articles, text • Landing pages for website • Digital content: eBooks, magazine, research material
  • 25. Use Case: Content and Metadata Store • 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 Why NoSQL?
  • 26. McGraw Hill Education Labs Learning portal
  • 27. Use Case: Content and metadata store Building a self-adapting, interactive learning portal with Couchbase
  • 28. As learning move online in great numbers Growing need to build interactive learning environments that Scale! Scale to millions of learners Serve MHE as well as third-party content Including open content Support learning apps 0101001001 1101010101 0101001010 101010 Self-adapt via usage data The Problem
  • 29. • 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 Backend is an Interactive Content Delivery Cloud that must: XML Databases SQL/MR Engines In-memory Data Grids Enterprise Search Servers Experimented with a combination of: The Challenge
  • 30. Architecture
  • 31. Questions?
  • 32. Thank you! anil@couchbase.com