Previous proposalBuilding a cricket score fanout system that scales
Next proposalPatterns for designing stateful microservices at scale
MongoDB WiredTiger or Not
MongoDB has made wiredtiger its default storage engine from mongo version3.0 and from version 4.0 it has depricated MMAPv1 storage engine. This talk is to walk through our journey of upgrading mongo storage engine with problems.
Scale: We are a gaming company making mass market social game. Handling above changes in production handling 1TB data scale.
- 2 TB of data with 20GB index size and scale of 5k op/sec and 50/50 read and write. - Latency requirement is under 10ms on avg.
- Sharded mongo cluster with 3 shards and each shard equivalent to 3 server (1 primary, 1 secondary and 1 arbiter).
– Supporting millions of Daily user with a max scale of 5k Ops/sec.
- MMAPV1: provide collection level locking, hence throughput of application is always limited else you need to increased size of box to scale or add shard.
- WiredTiger: the journey to evaluate and try to fit it was not easy with the problems inside engine and according to our use case
- Database handling is not tricky but being the backbone of most request people are usually afraid to touch it and make changes which can solve your problems
Have a basic understanding of Database and storage engine, and undertand some challenges of operating them at scale.
I am senior software engineer at Moonfrog, India’s top mobile gaming company. I am responsible for leading Tech of one of the biggest game available on facebook instant game platform (Ludo club). In the last 6 years as an engineer, I have been mostly solving scaling challenges.