Hace un par de meses escribí un artículo para Mashable titulado Cómo preparar su juego social para un crecimiento masivo. En ese artículo sostengo que los juegos integrados en las redes sociales pueden "convertirse en virales", sumando millones de usuarios de la noche a la mañana, y que la diferencia entre el éxito y el fracaso depende de si la infraestructura del juego puede soportar ese tipo de crecimiento explosivo. Apenas un mes después de la publicación, obtuvimos dos datos muy visibles en apoyo del argumento.
Un ejemplo negativo fue Los Simpson de EA: Tapped Out. Lanzamiento el 2 de marzoEl juego comienza cuando Homer provoca accidentalmente una fusión que acaba con Springfield. Por desgracia, el juego también se derritió. Un lanzamiento increíblemente exitoso, se mire por donde se mire, el juego alcanzó el #2 en la App Store nada más ponerse a la venta. Pero sólo cuatro días después la aplicación fue extraído de la App Store (y todavía no ha vuelto). ¿Qué ha ocurrido? EA no ha publicado los detalles, pero una revisión de las quejas de los jugadores hace pensar que la infraestructura del juego (en particular, la infraestructura de la base de datos) simplemente se vio desbordada por el crecimiento. Y, obviamente, no era trivial arreglar la situación.
En marcado contraste, OMGPOP lanzó Draw Something justo un día después de la publicación del artículo. La infografía que figura a continuación muestra que, aunque empezó un poco más despacio que Los Simpson, no tardó en cobrar fuerza, alcanzando el #3 en la App Store justo cuando se lanzaba Los Simpson: Tapped Out. A partir de ahí, la historia no podría ser más diferente. Draw Something siguió creciendo, y sigue creciendo como la espuma. Ayer mismo, Zynga anunciado que Draw Something alcanzó los 50 millones de descargas en 50 días.

¿Cómo lo hicieron? Draw Something estaba preparado para crecer. Una de las decisiones clave que tomaron fue utilizar tecnología de bases de datos NoSQL para almacenar los datos del juego, concretamente Couchbase Server. Como Couchbase puede escalar elásticamente sin interrumpir el juego, nunca ha habido necesidad de desconectar Draw Something. Ni un segundo en el que no pudieran unirse nuevos usuarios. Ni un momento en el que no se pudiera jugar. Nada que detuviera el crecimiento vertiginoso que permitió a Draw Something batir todos los récords de crecimiento.
Si estás creando un juego (o cualquier tipo de aplicación) con integración de redes sociales, tu base de usuarios puede explotar de la noche a la mañana. Es muy importante asegurarse de que tu aplicación no lo haga.
¿Qué tipo de datos se almacenan en Couchbase?
Los dibujos y otros datos del usuario.
era couchdb o couchbase 2.0
En aquel momento, era Couchbase 1.8. Hoy en día, la versión 2.1 se utiliza en muchas circunstancias similares. Esa versión añade indexación/consulta de documentos, replicación entre centros de datos y más capacidades para estar disponible 24×365.