Big Dating at eHarmony

25
Thod Nguyen Chief Technology Officer Big Dating at eHarmony

description

eHarmony uses MongoDB to make it easier for couples to find each other. At the forefront of big data and machine learning, eHarmony’s matching system uses a flow algorithm to process a billion potential matches per day. The Compatibility Matching System® uses bi-directional, user-defined criteria to match members based on a comprehensive set of traits and preferences. The system was originally built on a relational database, but with over 51MM+ users, it took more than 2 weeks for the matching algorithm to run. By switching to MongoDB, eHarmony reduced the time to match by 95% to under 12 hours. Learn about eHarmony's matching system, its technology evaluation process, and how it has used MongoDB to make the happiest couples in the world.

Transcript of Big Dating at eHarmony

Page 1: Big Dating at eHarmony

Thod  Nguyen  Chief  Technology  Officer  

Big Dating at eHarmony

Page 2: Big Dating at eHarmony

social impact

Page 3: Big Dating at eHarmony

big dating at scale

!   3B+  poten9al  matches  daily  ~  25+  TB  of  data  

!   60M+  mul9-­‐aDribute  queries  daily  looking  across  250+  aDributes    

 !   212M+  photos  ~  15+  TB  of  data  

!   4B+  rela9onship  ques9onnaires  ~  25+  TB  of  data    

Page 4: Big Dating at eHarmony

the big win for product

 Decreased  the  processing  0me  to  match  by  95%,    from  2+  weeks  to  12  hours  

on  3B+  poten0al  matches/day    !   30%  increase  in  2-­‐way  communica9ons  

!   50%  increase  in  paid  subs  

!   60%  increase  in  unique  visitors  

     

Page 5: Big Dating at eHarmony

today    

!   Compa9bility  Matching  System  

!      The  Old  !      The  New  !      Why  MongoDB  

!      What’s  Next    

Page 6: Big Dating at eHarmony

compatibility matching system ®  

Compa0bility  Matching  System®  

Match  Distribu0on  

3!

Compa0bility    Matching  

1!

Affinity    Matching  

2!

Page 7: Big Dating at eHarmony

Compa0bility  Matching  System®  

Affinity    Matching  

Match  Distribu0on  

2! 3!

compatibility matching system (cont’d)

Compa0bility    Matching  

1!

Page 8: Big Dating at eHarmony

traditional search

Page 9: Big Dating at eHarmony

eharmony matching

Page 10: Big Dating at eHarmony

compatibility models

Page 11: Big Dating at eHarmony

compatibility matching process

Page 12: Big Dating at eHarmony

legacy compatibility match processor (CMP)

Page 13: Big Dating at eHarmony

legacy compatibility match processor V.2 (CMP)

Page 14: Big Dating at eHarmony

challenges with existing v2. design

Page 15: Big Dating at eHarmony

challenges with existing v2. design (contd.)

Page 16: Big Dating at eHarmony

challenges with existing v2. design (contd.)

Page 17: Big Dating at eHarmony

challenges with existing v2. design (contd.)

Page 18: Big Dating at eHarmony

challenges with existing v2. design (contd.)

Page 19: Big Dating at eHarmony

new data store requirements

Page 20: Big Dating at eHarmony

why Mongodb?

Page 21: Big Dating at eHarmony

tradeoffs

!   No  schema  =  larger  footprint  

!   Aggrega9on  queries  are  different    

!   Ini9al  configura9on  can  be  long,  manual  process  

 

Page 22: Big Dating at eHarmony

lessons learned

!   Turn  on  the  Firehose  

!   Unleash  the  Chaos  Monkey  

!   Engage  MongoDB,  Inc.  early  –  dev  to  produc9on  

!   Try  to  isolate  your  queries  to  a  shard  

!   Run  in  shadow  mode  

Page 23: Big Dating at eHarmony

what’s next

New  matching  use  cases:    !   Globaliza9on  and  Localiza9on  of  eH  site  !   Careers  by  eHarmony  !   Internet  of  Things  “Compa9ble”    New  use  cases  within  eHarmony:    !   Real-­‐9me  geo  loca9on  based  matching  service    !   Careers  

 

   

Page 24: Big Dating at eHarmony

technology stack

Page 25: Big Dating at eHarmony

linkedin.com/in/thodnguyen  We’re  Hiring  @jobs.eharmony.com