Building for Scale!

38
- KIRAN NARASAREDDY CO-FOUNDER, DIRECTOR TECHNOLOGY @AMURATECH BUILDING FOR SCALE

Transcript of Building for Scale!

Page 1: Building for Scale!

- KIRAN NARASAREDDY CO-FOUNDER, DIRECTOR TECHNOLOGY

@AMURATECH

BUILDING FOR SCALE

Page 2: Building for Scale!

95M+ DOCUMENTS

2.5M+ DAILY TRANSACTIONS

Page 3: Building for Scale!
Page 4: Building for Scale!

AUDITION YOUR MODELS!

Page 5: Building for Scale!

AUDITION YOUR MODELS!

OPTIMISE YOUR SCHEMA FOR MOST FREQUENT USE CASES

Page 6: Building for Scale!

AUDITION YOUR MODELS!

LARGE NUMBER OF COLLECTIONS

Page 7: Building for Scale!

AUDITION YOUR MODELS!

DO STI FOR THE RIGHT REASONS

Page 8: Building for Scale!

AUDITION YOUR MODELS!

KEEP AN EYE ON DOCUMENTS SIZE

Page 9: Building for Scale!
Page 10: Building for Scale!

ITS OKAY NOT TO BE NORMALISED)

Page 11: Building for Scale!

ITS OKAY NOT TO BE NORMALISED)

Page 12: Building for Scale!

ITS OKAY NOT TO BE NORMALISED

DO JOINS ON WRITE, NOT ON READ.

Page 13: Building for Scale!

ITS OKAY NOT TO BE NORMALISED

DON'T FEAR TO EMBED YOUR KID.

Page 14: Building for Scale!

BUT..

Page 15: Building for Scale!

SOMETIMES, ITS OKAY TO BE NORMALISED TOO!

READ PERFORMANCE VS DATA DUPLICATION

Page 16: Building for Scale!

SOMETIMES, ITS OKAY TO BE NORMALISED TOO!

COMPLEX MODELLING / HIERARCHY

Page 17: Building for Scale!
Page 18: Building for Scale!

GET YOUR PRIORITIES RIGHT!

Page 19: Building for Scale!

MONGODB <= 2.4 / MONGOID < 4.1

Page 20: Building for Scale!

MONGODB >= 2.6 / MONGOID >= 4.1

Page 21: Building for Scale!
Page 22: Building for Scale!

PLEASE EXPLAIN!

Page 23: Building for Scale!

PLEASE EXPLAIN!

User.where(email:"***").where(phone:"***")

Page 24: Building for Scale!

PLEASE EXPLAIN!

User.where(email:"***").where(phone:"***").explain()

Page 25: Building for Scale!
Page 26: Building for Scale!
Page 27: Building for Scale!

PLEASE EXPLAIN!OMIT FIELDS IF FILTRATION< 90%

Page 28: Building for Scale!

PLEASE EXPLAIN!COVER YOUR QUERIES

Page 29: Building for Scale!
Page 30: Building for Scale!

(SIDE)KIQ'D

Page 31: Building for Scale!

(SIDE)KIQ'D

Page 32: Building for Scale!

SIDEKIQ'D

Page 33: Building for Scale!

SIDEKIQ'D

Page 34: Building for Scale!

SIDEKIQ'D

Page 35: Building for Scale!

SIDEKIQ'DLOAD BALANCER... CAUSE WE ARE LAZY!

Page 36: Building for Scale!

SIDEKIQ'D

‣ MANAGE LATENCY ‣ WORKER LOAD

Page 37: Building for Scale!
Page 38: Building for Scale!

MAY THE FORCE BE WITH YOU

KIRAN NARASAREDDY http://kco.re / @_kcore