How NoSQL saved Draw Something
Draw Something's success aided by Couchbase - chat with CEO, Bob Wiederhold - Part 4
Can you give some specifics in how Couchbase's NoSQL server works?
Couchbase is a horizontally scalable database. It runs on standard commodity servers. As the amount of data or database operations/sec increase, you simple add more commodity servers to your database cluster to support the added load.
When you add more servers, the database automatically redistributes the data across the larger cluster completely transparent to the app. With a larger cluster the database can now support more operations/sec, store more data in memory, store more on-disk data, etc. Theoretically, you can infinitely grow your database in this way. And, while your database is growing there is no need to make any changes to the application, everything is completely transparent to the app.
Couchbase is also very fault-tolerant. When servers fail, replicas of data that have been stored on other servers are promoted to “active status” and the failed server is failed out of the cluster. Very high performance reads and writes with low and predictable latency are provided through the memcached caching layer that is embedded in Couchbase.
Does every budding mobile app developer need up-front scalability planning in place for a situation like this?
If your dream is to develop an app that will go viral and be a big success you better develop your app to scale. Draw Something shows you what can happen if you have developed your app to scale. EA’s Simpsons Tapped Out shows you what can happen when you don’t.
Finally how proud are you that they chose Couchbase and do you play the game yourself?
We are incredibly proud to be part of this success. As I said earlier, I play Draw Something all the time. I’m addicted enough to it that I even found myself reading tips on-line about how to draw better pictures. I’m horrible at drawing pictures, but I’m getting better.