REVOLUTIONIZING LOCAL MOBILITY
© COPYRIGHT 2016 MOOVIT
REDIS USE CASE
Agenda
• Brief Moovit overview
• Build up the Moovit requirements
• Cover requirements using Redis + Redis Labs + Applicative
clustering
• Redis summary
Anan Kenig, Chief Architect @ Moovit
8 Billion People
900 Million Cars
35 Million Users
The World’s #1 Transit App
41
Languages
65
Countries
800+
Cities
4,500
Transit Operators
4.6 million
Bus/Train Stops
100 million
Daily passenger reports
New city added every
20 Hours!
Moovit service covers population of ~1B (excluding China & India)
In 25% of the Metro areas we serve we are the ONLY service (no Google(
Next year Moovit service will cover a population of over 2B!
The Moovit Requirements
1000’s
Reads
/ sec
1000’s Read Ops
Extremely responsive (< 10ms)
Constantly changing
Easily upgradable
The Moovit Requirements
1000’s Read Ops
Extremely responsive (< 10ms)
Easily upgradable
Scale horizontally
More coverage
Scale
Vertically
2-dimensional scaling
Full redundancy
99.99∞99 availability
Seamless failover
No SPOF
The Moovit Requirements
1000’s Read Ops
Extremely responsive (< 10ms)
Easily upgradable
2-dimensional scaling
Full redundancy
99.99∞99 availability
Seamless failover
No SPOF
Data blocks frequently
change holistically
Holistic data block switches
Full switches automation & manageability
Redis Solution
1000’s Read Ops
Extremely responsive (< 10ms)
Easily upgradable
2-dimensional scaling
Full redundancy
99.99∞99 availability
Seamless failover
No SPOF
Holistic data block switches
Full switches automation & manageability
• Support 1000’s iops
• Extremely fast
• No magic to upgrades –
as easy as you write it,
but it’s easy to write



Redis Solution
1000’s Read Ops
Extremely responsive (< 10ms)
Easily upgradable
2-dimensional scaling
Full redundancy
99.99∞99 availability
Seamless failover
No SPOF
Holistic data block switches
Full switches automation & manageability
• Clustering allows 2D
scaling
• Full redundancy &
seamless failover using
high-availability
deployment
• Very high availability



Redis Labs




Redis Solution
1000’s Read Ops
Extremely responsive (< 10ms)
Easily upgradable
2-dimensional scaling
Full redundancy
99.99∞99 availability
Seamless failover
No SPOF
Holistic data block switches
Full switches automation & manageability
• No SPOF – worst case
one metro fails
• Replace entire data
holistically w/o interrupting
reads
• Fully automatable &
maintainable via API
• Full resource utilization







Redis Labs
API
Moovit Loader
Applicative Clustering



Summarizing Redis
Advantages
Simple
1ms roundtrip is an overhead
Quick
Fast
Things to consider
Simple
Only simple structs
(objects, hashes, sets…)
Everything else needs to be
written
REVOLUTIONIZING LOCAL MOBILITY
© COPYRIGHT 2016 MOOVIT
REDIS USE CASE

Redis at Moovit

  • 1.
    REVOLUTIONIZING LOCAL MOBILITY ©COPYRIGHT 2016 MOOVIT REDIS USE CASE
  • 2.
    Agenda • Brief Moovitoverview • Build up the Moovit requirements • Cover requirements using Redis + Redis Labs + Applicative clustering • Redis summary Anan Kenig, Chief Architect @ Moovit
  • 3.
  • 4.
    35 Million Users TheWorld’s #1 Transit App 41 Languages 65 Countries 800+ Cities
  • 5.
    4,500 Transit Operators 4.6 million Bus/TrainStops 100 million Daily passenger reports
  • 6.
    New city addedevery 20 Hours! Moovit service covers population of ~1B (excluding China & India) In 25% of the Metro areas we serve we are the ONLY service (no Google( Next year Moovit service will cover a population of over 2B!
  • 7.
    The Moovit Requirements 1000’s Reads /sec 1000’s Read Ops Extremely responsive (< 10ms) Constantly changing Easily upgradable
  • 8.
    The Moovit Requirements 1000’sRead Ops Extremely responsive (< 10ms) Easily upgradable Scale horizontally More coverage Scale Vertically 2-dimensional scaling Full redundancy 99.99∞99 availability Seamless failover No SPOF
  • 9.
    The Moovit Requirements 1000’sRead Ops Extremely responsive (< 10ms) Easily upgradable 2-dimensional scaling Full redundancy 99.99∞99 availability Seamless failover No SPOF Data blocks frequently change holistically Holistic data block switches Full switches automation & manageability
  • 10.
    Redis Solution 1000’s ReadOps Extremely responsive (< 10ms) Easily upgradable 2-dimensional scaling Full redundancy 99.99∞99 availability Seamless failover No SPOF Holistic data block switches Full switches automation & manageability • Support 1000’s iops • Extremely fast • No magic to upgrades – as easy as you write it, but it’s easy to write   
  • 11.
    Redis Solution 1000’s ReadOps Extremely responsive (< 10ms) Easily upgradable 2-dimensional scaling Full redundancy 99.99∞99 availability Seamless failover No SPOF Holistic data block switches Full switches automation & manageability • Clustering allows 2D scaling • Full redundancy & seamless failover using high-availability deployment • Very high availability    Redis Labs    
  • 12.
    Redis Solution 1000’s ReadOps Extremely responsive (< 10ms) Easily upgradable 2-dimensional scaling Full redundancy 99.99∞99 availability Seamless failover No SPOF Holistic data block switches Full switches automation & manageability • No SPOF – worst case one metro fails • Replace entire data holistically w/o interrupting reads • Fully automatable & maintainable via API • Full resource utilization        Redis Labs API Moovit Loader Applicative Clustering   
  • 13.
    Summarizing Redis Advantages Simple 1ms roundtripis an overhead Quick Fast Things to consider Simple Only simple structs (objects, hashes, sets…) Everything else needs to be written
  • 14.
    REVOLUTIONIZING LOCAL MOBILITY ©COPYRIGHT 2016 MOOVIT REDIS USE CASE