couchbase live europe 2015: viber: nosql performance at scale
TRANSCRIPT
![Page 1: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/1.jpg)
WelcomeAmir ish-Shalom, Chief Architect
![Page 2: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/2.jpg)
What we do
• Messages & Stickers
• Audio messages & video
• Group conversations
• Full multiple device support
• HD video & phone calls
• Viber out
![Page 3: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/3.jpg)
We are adding new functions
TO become even more SOCIAL
![Page 4: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/4.jpg)
‘Imagine if you could listen in
on somebody else’s conversation?’
![Page 5: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/5.jpg)
Public Chats
• Chat owners
• Participants
• Followers
![Page 6: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/6.jpg)
Public Chats -
Features• ‘Likes’
• Live updates to all online followers
• Invite a friend to follow
• Search & explore
![Page 7: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/7.jpg)
![Page 8: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/8.jpg)
Games• Developed by 3rd parties
• Viber characters & style
• “Viber Connect”
• Friends list
• Messaging via Viber:
• Invites
• Gifts & “bragging”
• User to user communication
![Page 9: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/9.jpg)
Viber Usage
![Page 10: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/10.jpg)
Everybody’s vibing
• 530+ Million users worldwide
• 236+ Million Monthly Active Users
• 1+ Million new users every day
• Billions of messages sent every day
• iOS, Android, desktop (and more)
![Page 11: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/11.jpg)
Strong growth in
2014NOW OVER 530 million Viber unique ids
1
9
4
0
7
4
1
2
5
1
9
4
2
8
0
3
7
5
46
0
Jun/11 Dec/11 Jun/12 Dec/12 Jun/13 Dec/13 Jun/14 Nov/14
*Unique IDs: Unique phone numbers excluding deactivations (Millions of unique users)
![Page 12: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/12.jpg)
2015-01
2014-12
2014-11
2014-10
2014-09
2014-08
2014-07
2014-06
2014-05
2014-04
2014-03
2014-02
2014-01
2013-12
2013-11
2013-10
2013-09
2013-08
2013-07
2013-06
2013-05
2013-04
2013-03
2013-02
2013-01
2012-12
2012-11
2012-10
2012-09
2012-08
2012-07
2012-06
2012-05
2012-04
2012-03
2012-02
2012-01
2011-12
2011-11
2011-10
2011-09
2011-08
2011-07
2011-06
2011-05
2011-04
2011-03
2011-02
2011-01
Strong Growth in
2014In 2014 vs. 2013 there was:
• 2.5x growth in talking minutes
• 3x growth in messages
• 10x growth in group messages
![Page 13: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/13.jpg)
a truly global platformNorth
America7.2%
Central &south
America
9.0%
Westerneurope19.9% eastern
europe11.7%
Middleeast
14.2%
africa8.0%
Asia & Asia
pacfic29.9%
Source : Viber Cumulative
activated users, percentage
share by region. Oct 31, 2014
![Page 14: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/14.jpg)
Viber global PenetrationViber is used by 12% of the world’s mobile device
owners
WhatsApp LINE KakaoTalk WeChat
39
%
12
%10
%6
%4
%
Percentage of
world’s mobile users
(excl. China) who
uses each app
Source: GlobalWebIndex Q2
2014, published Sep25 2014
![Page 15: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/15.jpg)
Top 5 global
marketsRussia
28m
India
32m
uk
14m
Brazil
18m
america
30m
*Unique IDs: Unique phone
numbers excluding deactivations
![Page 16: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/16.jpg)
Database Architecture
![Page 17: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/17.jpg)
Viber DB Architecture – 1st
Generation
In-house
in-memory DBApplication ServersViber
Clients
![Page 18: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/18.jpg)
Viber DB Architecture – 2nd
Generation
Redis Cache MongoDB Cluster
Redis Clusters
Application ServersViber
Clients
Redis Sharder
Redis Sharder
![Page 19: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/19.jpg)
2nd Generation DB Architecture
Problems• MongoDB performance
• MongoDB does not scale well with many application servers
• Redis – In-memory database with no sharding
• Redis Sharder – Not manageable and robust enough
![Page 20: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/20.jpg)
3rd Generation DB Architecture
Requirements• High performance
• Large data sets
• Scalable
• Robust
• Backed-up
• Always on
• Easy to monitor
• Prefer single DB solution
Solution:
![Page 21: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/21.jpg)
Viber DB Architecture – 3rd
Generation
Application ServersViber
Clients
Couchbase
Backup
ClusterCouchbase
Clusters
XDCR
![Page 22: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/22.jpg)
Migrating from 2nd to 3rd
Generation DB’s• Migrate a live system
• Zero downtime
• No data loss
• Consistent data
MongoDB Cluster
Redis Clusters
Couchbase
Clusters
![Page 23: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/23.jpg)
CouchBase Usage
![Page 24: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/24.jpg)
CouchBase Usage
• Over 2 Million operations per second
• ~200 Couchbase servers in 8 different clusters
• Almost 1000 application servers
• Cluster sizes between 3 to 51 nodes
• Clusters have between 0-2 replicas (most have 1 replica)
![Page 25: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/25.jpg)
CouchBase Versions
• Most clusters using CB v2.51
• 2 clusters have been migrated to CB v3.02
• Currently testing CB v3.02 and planning migration
![Page 26: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/26.jpg)
How a one line mistake can
create 500,000 ops
![Page 27: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/27.jpg)
Launch of a new product
![Page 28: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/28.jpg)
21 node cluster with Over
800,000 OPS
![Page 29: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/29.jpg)
Questions?
![Page 30: Couchbase Live Europe 2015: Viber: NoSQL Performance at Scale](https://reader033.vdocument.in/reader033/viewer/2022042615/55a7aa5a1a28ab63638b470b/html5/thumbnails/30.jpg)
Thank You