Slide 1

Slide 1 text

Fast GeoIp Lookup using Redis Navigate : Space / Arrow Keys | - Menu | - Fullscreen | - Overview | - Blackout | - Speaker | - Help M F O B S ?  1 / 15

Slide 2

Slide 2 text

NoSQL database categories [ GitPitch @ github/mkoertgen/hello.redis ]  2 / 15

Slide 3

Slide 3 text

The V's of Big Data Originally, Volume (amount or size of data) Velocity (speed of data processing) Variety (number of types of data) More recently, Veracity (trustworthiness of the data) Value (generates the data value) [ GitPitch @ github/mkoertgen/hello.redis ]  3 / 15

Slide 4

Slide 4 text

Volume Java Says, Your Data's Not That Big [ GitPitch @ github/mkoertgen/hello.redis ]  4 / 15

Slide 5

Slide 5 text

Garbage In... Image [ GitPitch @ github/mkoertgen/hello.redis ]  5 / 15

Slide 6

Slide 6 text

Data Science is mostly about how to make sense of and interpret ( lter) your data... [ GitPitch @ github/mkoertgen/hello.redis ]  6 / 15

Slide 7

Slide 7 text

Velocity Importing 100,000,000/day ~ 1,200/sec HTTP/REST: ~50/sec => 25 container (scale out) Redis: ~500,000/sec (1 redis instance, on a laptop) [ GitPitch @ github/mkoertgen/hello.redis ]  7 / 15

Slide 8

Slide 8 text

Redis is fast! [ GitPitch @ github/mkoertgen/hello.redis ]  8 / 15

Slide 9

Slide 9 text

Why Redis? Some references: (redislabs.com) (redis.io) (codeburst.io) Why Redis Introduction to Redis Redis: What and Why? Redis and its data types [ GitPitch @ github/mkoertgen/hello.redis ]  9 / 15

Slide 10

Slide 10 text

Fundamental Theorem of Software Engineering (FTSE) We can solve any problem by adding another level of indirection (David Wheeler) ...except for the problem of too many layers (Kevlin Henney) [ GitPitch @ github/mkoertgen/hello.redis ]  10 / 15

Slide 11

Slide 11 text

GeoIp Lookup Indirect lookup using a sorted zet of ip ranges Find closest ip range: Retreive bucket: Question: What about missing or overlapping ip ranges? zrange by score hgetall [ GitPitch @ github/mkoertgen/hello.redis ]  11 / 15

Slide 12

Slide 12 text

Implementations Examples given in .NET, Node, Ruby, Python, Go, Dart, Java [ GitPitch @ github/mkoertgen/hello.redis ]  12 / 15

Slide 13

Slide 13 text

Redis Modules List of (redislabs.com), (redis.io) Some modules we nd interesting Redis Modules Redis Modules [ GitPitch @ github/mkoertgen/hello.redis ]  13 / 15

Slide 14

Slide 14 text

Some References (RedisGreen) Redis Pub/Sub: Howto Guide socketio/socket.io-redis [ GitPitch @ github/mkoertgen/hello.redis ]  14 / 15

Slide 15

Slide 15 text

Questions? Reach out  @mkoertg  mkoertgen  @marcel.koertgen [ GitPitch @ github/mkoertgen/hello.redis ]  15 / 15