RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

19
RT Analytics with Data Streaming Felix Crisan / Co-Founder & CTO NETOPIA [mobilPay, web2sms, kartela.ro]

description

RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Transcript of RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Page 1: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

RT Analytics with Data Streaming Felix Crisan / Co-Founder & CTO NETOPIA[mobilPay, web2sms, kartela.ro]

Page 2: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

About Us

- Largest SMS Aggregator in RO (+100MM/year) - Largest mobile payments processor in RO (own wallet and SMS)- Second largest online card processing gateway in RO (+2M trx / year)

Page 3: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

RT Analytics @ mobilPay

Page 4: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Is it BigData?

Page 5: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

What do we use it for

- Operational Insights- Transaction Monitoring- Health Checks- Business Dashboards (internal for now, GA later this year)

Page 6: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Storm one-pager

- Streaming processor, Apache Incubator (http://storm.incubator.apache.org/)- Zookeeper/Nimbus(+ZeroMQ/Netty)- Scalable / No Data Loss (guaranteed)- Fault - Tolerant- Topologies (~ MR job) / Streams / Spouts (data sources) / Bolts (data processors)

Page 7: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Redis one-pager

- In-Memory (disk persistent) KV Store (http://redis.io)- Values can be complex types (strings, hashes, lists, sets, sorted sets)- Single-threaded (!) but high-performance (500k req/s)- Atomic operations

Page 8: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

(Simplified) Data Model

Page 9: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Our Data Streaming setup

Page 10: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

What Happens

- Transaction details are put in a RabbitMQ queue (state, errors, values etc)- A Storm Topology reads the details and aggregates

- per Merchant / Service - per Status / Error / Currency- per time interval (5min, H, D, M)

Page 11: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Why did we choose this setup?

Page 12: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

So what’s the result?

Page 13: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Know Your Queries

Page 14: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Better insights

Page 15: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Clear(er) views

Page 16: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Better predictions

Page 17: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

KYC

Page 18: RT Analytics with Storm and Redis @ Big Data Bucharest Meetup

Summary