building for scale!
TRANSCRIPT
![Page 1: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/1.jpg)
- KIRAN NARASAREDDY CO-FOUNDER, DIRECTOR TECHNOLOGY
@AMURATECH
BUILDING FOR SCALE
![Page 2: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/2.jpg)
95M+ DOCUMENTS
2.5M+ DAILY TRANSACTIONS
![Page 3: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/3.jpg)
![Page 4: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/4.jpg)
AUDITION YOUR MODELS!
![Page 5: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/5.jpg)
AUDITION YOUR MODELS!
OPTIMISE YOUR SCHEMA FOR MOST FREQUENT USE CASES
![Page 6: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/6.jpg)
AUDITION YOUR MODELS!
LARGE NUMBER OF COLLECTIONS
![Page 7: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/7.jpg)
AUDITION YOUR MODELS!
DO STI FOR THE RIGHT REASONS
![Page 8: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/8.jpg)
AUDITION YOUR MODELS!
KEEP AN EYE ON DOCUMENTS SIZE
![Page 9: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/9.jpg)
![Page 10: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/10.jpg)
ITS OKAY NOT TO BE NORMALISED)
![Page 11: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/11.jpg)
ITS OKAY NOT TO BE NORMALISED)
![Page 12: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/12.jpg)
ITS OKAY NOT TO BE NORMALISED
DO JOINS ON WRITE, NOT ON READ.
![Page 13: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/13.jpg)
ITS OKAY NOT TO BE NORMALISED
DON'T FEAR TO EMBED YOUR KID.
![Page 14: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/14.jpg)
BUT..
![Page 15: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/15.jpg)
SOMETIMES, ITS OKAY TO BE NORMALISED TOO!
READ PERFORMANCE VS DATA DUPLICATION
![Page 16: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/16.jpg)
SOMETIMES, ITS OKAY TO BE NORMALISED TOO!
COMPLEX MODELLING / HIERARCHY
![Page 17: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/17.jpg)
![Page 18: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/18.jpg)
GET YOUR PRIORITIES RIGHT!
![Page 19: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/19.jpg)
MONGODB <= 2.4 / MONGOID < 4.1
![Page 20: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/20.jpg)
MONGODB >= 2.6 / MONGOID >= 4.1
![Page 21: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/21.jpg)
![Page 22: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/22.jpg)
PLEASE EXPLAIN!
![Page 23: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/23.jpg)
PLEASE EXPLAIN!
User.where(email:"***").where(phone:"***")
![Page 24: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/24.jpg)
PLEASE EXPLAIN!
User.where(email:"***").where(phone:"***").explain()
![Page 25: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/25.jpg)
![Page 26: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/26.jpg)
![Page 27: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/27.jpg)
PLEASE EXPLAIN!OMIT FIELDS IF FILTRATION< 90%
![Page 28: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/28.jpg)
PLEASE EXPLAIN!COVER YOUR QUERIES
![Page 29: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/29.jpg)
![Page 30: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/30.jpg)
(SIDE)KIQ'D
![Page 31: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/31.jpg)
(SIDE)KIQ'D
![Page 32: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/32.jpg)
SIDEKIQ'D
![Page 33: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/33.jpg)
SIDEKIQ'D
![Page 34: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/34.jpg)
SIDEKIQ'D
![Page 35: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/35.jpg)
SIDEKIQ'DLOAD BALANCER... CAUSE WE ARE LAZY!
![Page 36: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/36.jpg)
SIDEKIQ'D
‣ MANAGE LATENCY ‣ WORKER LOAD
![Page 37: Building for Scale!](https://reader031.vdocuments.us/reader031/viewer/2022022413/58ef86161a28ab647c8b45c9/html5/thumbnails/37.jpg)