ccsf12_evaluating_nosql_databases_for_your_project
TRANSCRIPT
Evaluating NoSQL Databases For Your Project
Xiang ShenStomp Games, Tencent
Introduction
• Tencent• Stomp Games• Robot Rising
Back to Tech…
• Server Architecture
Why NoSQL?
• Google “Why NoSQL”• For us– User centric data• Native key-value relations
– Scalability• Sharding
– Easy and simple
Evaluation - Goal
• Fit into the system• Fit into the team• Fit into the budget• Fit into long-term plan
Evaluation - Criteria
• Tech– Sharding strategy– Replication and failover– Scalability– Performance– Coding effort
• Operation– Management / monitor tools– Support / Market penetration
• Cost– Licensing price– Maintenance
Evaluation - Process
• Candidate first pass– Couchbase, MongoDB, MySQL Cluster, dbShards
• Installation– System requirements, documentation, use cases
• Stress test– Performance, stability
• Accident simulation– Stability, replication, failover, scalability
Evaluation - Process
• System integration– System compatibility– Coding effort
• Sales contact• Technical consultant• Comparison matrix• Decision making
Evaluation – Comparison Matrix CouchBase MongoDB dbShards MySQL Cluster (NDB)Sharding strategy Replication Failover support Scalability Customized data support System compatibilityCoding effort Performance Protocol Upgrade difficulty Data persisting method Map Reduce / Join SQL compatible Licensing Price Bulk price Management / monitor tool Hardware requirement Supported OS Operation knowledge Operation training Operation difficulty Developer company size Market penetration Support Successful use cases
Evaluation – Integration
Evaluation - Performance• Single node ADD test– Server setup: 1x Xeon 2.0GHz, 32G Mem, HDD– Test setup: Blob size (1000), 4 / 50 connections
Evaluation – Decision Making
• Why Couchbase?– Passed all hard-requirements• Scalability
– Load distribution– Add / remove servers with no downtime and no
performance hit
• Stability– Stress test– Accident simulation
Evaluation – Decision Making
• Why Couchbase? (Cont.)– Easy to integrate• Memcached API• Clear tutorials and documentations• Minimal coding efforts
– User-friendly tools• Web-based graphic tools and command line
– Great performance– Great tech support
Result
• Easy quick adaption• Ops team are happy– Maybe DBA
• Zero downtime for Robot Rising servers since Open Beta (8/22)
• Easy data upgrade– Schema-less
Looking Forward
• System capability• New features• Other types of applications
• http://apps.facebook.com/robotrising• http://www.youtube.com/watch?v=jEE6nrew4yU&hd=1
Thank You