Viber scegli Couchbase al posto di Redis e MongoDB
The evolution of scalable NoSQL at Viber
The story of Viber’s NoSQL expedition that took them from MongoDB to Couchbase Server, told in this sponsored post by Couchbase:
As one of the fastest growing VoIP services in the world, the challenge at Viber has been to build and maintain a scalable architecture that is capable of sustaining exponential growth. The first-generation architecture was built on top of a custom, in-memory database. However, within months, the database could no longer keep up with the growth the company was experiencing.
Viber DB architecture – 1st generation
The second-generation architecture was built on top of MongoDB shards. Next, Redis was added as a cache on top of the MongoDB shards to increase throughput. Still, MongoDB was unable to meet the high throughput requirements. Finally, a second Redis cluster was added independent of the MongoDB shards. The second-generation architecture was compromised of 150 MongoDB nodes and over 100 Redis nodes.
Viber DB architecture – 2nd generation
The third-generation architecture had to support 100,000+ operations per second in the short term and 1,000,000+ operations per second in the long term. Viber chose to build their third-generation architecture on top of Couchbase Server. The third-generation architecture is compromised of 100 to 120 Couchbase Server nodes.
Viber DB architecture – 3rd generation
Viber has been able to reduce the number of database nodes required while increasing the throughput with their third-generation architecture. For example, one of their Couchbase clusters (a ten node cluster) handles 100,000 to 200,000 operations per second with over 4.5 terabytes of data.