ccsf12_evaluating_nosql_databases_for_your_project

17
Evaluating NoSQL Databases For Your Project Xiang Shen Stomp Games, Tencent

Upload: couchbase

Post on 21-Jun-2015

1.741 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: CCSF12_Evaluating_NoSQL_Databases_for_your_project

Evaluating NoSQL Databases For Your Project

Xiang ShenStomp Games, Tencent

Page 2: CCSF12_Evaluating_NoSQL_Databases_for_your_project

Introduction

• Tencent• Stomp Games• Robot Rising

Page 3: CCSF12_Evaluating_NoSQL_Databases_for_your_project

Back to Tech…

• Server Architecture

Page 4: CCSF12_Evaluating_NoSQL_Databases_for_your_project

Why NoSQL?

• Google “Why NoSQL”• For us– User centric data• Native key-value relations

– Scalability• Sharding

– Easy and simple

Page 5: CCSF12_Evaluating_NoSQL_Databases_for_your_project

Evaluation - Goal

• Fit into the system• Fit into the team• Fit into the budget• Fit into long-term plan

Page 6: CCSF12_Evaluating_NoSQL_Databases_for_your_project

Evaluation - Criteria

• Tech– Sharding strategy– Replication and failover– Scalability– Performance– Coding effort

• Operation– Management / monitor tools– Support / Market penetration

• Cost– Licensing price– Maintenance

Page 7: CCSF12_Evaluating_NoSQL_Databases_for_your_project

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

Page 8: CCSF12_Evaluating_NoSQL_Databases_for_your_project

Evaluation - Process

• System integration– System compatibility– Coding effort

• Sales contact• Technical consultant• Comparison matrix• Decision making

Page 9: CCSF12_Evaluating_NoSQL_Databases_for_your_project

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

Page 10: CCSF12_Evaluating_NoSQL_Databases_for_your_project

Evaluation – Integration

Page 11: CCSF12_Evaluating_NoSQL_Databases_for_your_project

Evaluation - Performance• Single node ADD test– Server setup: 1x Xeon 2.0GHz, 32G Mem, HDD– Test setup: Blob size (1000), 4 / 50 connections

Page 12: CCSF12_Evaluating_NoSQL_Databases_for_your_project

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

Page 13: CCSF12_Evaluating_NoSQL_Databases_for_your_project

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

Page 14: CCSF12_Evaluating_NoSQL_Databases_for_your_project

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

Page 15: CCSF12_Evaluating_NoSQL_Databases_for_your_project

Looking Forward

• System capability• New features• Other types of applications

Page 16: CCSF12_Evaluating_NoSQL_Databases_for_your_project

• http://apps.facebook.com/robotrising• http://www.youtube.com/watch?v=jEE6nrew4yU&hd=1

Page 17: CCSF12_Evaluating_NoSQL_Databases_for_your_project

Thank You