![Page 1: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/1.jpg)
1
Firenze, 25 Settembre
Loyalty cashback -‐ Scaling with MongoDB Salvatore Incandela
![Page 2: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/2.jpg)
2
About Me
IT Architecture
Agile Open
Source
NoSql
R&D
Security
Big Data
DDD
CQRS
Electronic Money
Change Management
Continous Improvement
Organization
Paybay - Copyright 2014 - All Right Reserved
![Page 3: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/3.jpg)
3
Agenda • Context
• Problem Setting
• Problem Solving
• Problem Solved
• MongoDb Focus
• MongoDb Cluster Config
• MongoDb Cluster Status
• Our Loyalty Clients
• Next Steps
Paybay - Copyright 2014 - All Right Reserved
![Page 4: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/4.jpg)
4
Context
Loyalty Cashback Program, how it works:
Card Holder Buy Affiliated Merchant
Acquires Transaction
Bank Send
Transaction
Give Rewards
Loyalty Platform
Paybay - Copyright 2014 - All Right Reserved
![Page 5: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/5.jpg)
5
Card Holder
Context
Big Loyalty Cashback Program
Very Big!!
10Mln 50k+
2+Mln per day
1,5+Mln per day
50k+ per day
1,5+Mln per day
Buy Affiliated Merchant
Acquires Transaction
Bank Send
Transaction
Give Rewards
Loyalty Platform
Paybay - Copyright 2014 - All Right Reserved
![Page 6: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/6.jpg)
6
Context
Big Loyalty Cashback Program
Very Big!!
Card Holder Affiliated Merchant Buy
Bank Send Transactions Loyalty Platform
Give Rewards Acquires Transactions
10Mln 50k+
2+Mln per day
1,5+Mln per day
50k+ per day
1,5+Mln per day
Just for one Bank but…
….the platform will be multitenant!
Paybay - Copyright 2014 - All Right Reserved
![Page 7: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/7.jpg)
7
Problem Setting
• FrontEnd performances
• BackEnd performances
• High scalability costs
• Lack of Smart Business and Operational Analitics
• Shared DataStores causes poor performances
Paybay - Copyright 2014 - All Right Reserved
![Page 8: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/8.jpg)
8
Problem Setting
RDBMS
Batch Engine
Core Services
Data Acces Layer
WebApps
Performances Budget Analitics Mobile Web
Services
Is this solution economically sustainable? How to Scale the Data Store?
Paybay - Copyright 2014 - All Right Reserved
![Page 9: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/9.jpg)
9
Problem Solving
RDBMS RDBMS
Performances Budget Analitics Batch Engine
Core Services
Data Acces Layer
WebApps Mobile Web Services
ß Not for Us
Paybay - Copyright 2014 - All Right Reserved
![Page 10: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/10.jpg)
10
Problem Solving
CQRS originally introduced by Greg Young
Martin Fowler http://martinfowler.com/bliki/CQRS.html
The change that CQRS introduces is to split the conceptual model into separate models for update and display, which it refers to as Command and Query respectively following the vocabulary of CommandQuerySeparation. The rationale is that for many problems, particularly in more complicated domains, having the same conceptual model for commands and queries leads to a more complex model that does neither well.
Paybay - Copyright 2014 - All Right Reserved
![Page 11: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/11.jpg)
11
Problem Solving fase 1
MongoDb
Performances Budget Analitics
Document Modeled Fast Reads to more performances Business Analitics collections Operational Analitics Collections
E/R Modeled Reliable Strong Competencies
CQRS Principle transitions
Batch Engine
Data Acces Layer
WebApps Mobile Web Services
Core Services Commands Reads
ß Only for Fast Reads RDBMS
Paybay - Copyright 2014 - All Right Reserved
![Page 12: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/12.jpg)
12
MongoDb
Performances Budget Analitics
CQRS Principle transitions
MongoDb MongoDb
More Reliable configuration
Batch Engine
Core Services
Data Acces Layer
WebApps Mobile Web Services
Commands Reads
Problem Solved!
RDBMS Still used
ß Only for Fast Reads RDBMS
Paybay - Copyright 2014 - All Right Reserved
![Page 13: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/13.jpg)
13
MongoDb Focus
MongoDb MongoDb MongoDb
Noteworthy • MondoDb is flexible schema • De-normalized • MMS: Monitoring, Backup tools • Database Metrics, HW Statistics • OOP Oriented no ORM Mappings
Paybay - Copyright 2014 - All Right Reserved
![Page 14: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/14.jpg)
14
MongoDb Cluster Config
MongoDb MongoDb MongoDb
Cluster Configuration • 3 Node • Replica Set • 9 Collections (the biggest contains 700mln raw data) • Compound Index • Background indexes • TTL Indexes
Paybay - Copyright 2014 - All Right Reserved
![Page 15: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/15.jpg)
15
MongoDb Cluster Status
Manage Tb of Data • Up and running about 3 years without fault • Increase Reads parformances up to 60% • Decrease costs about 70% • Self Learned: good documentations
MongoDb MongoDb MongoDb
Paybay - Copyright 2014 - All Right Reserved
![Page 16: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/16.jpg)
16
Our Loyalty Clients
Paybay - Copyright 2014 - All Right Reserved
![Page 17: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/17.jpg)
17
Next Steps?
MongoDb MongoDb MongoDb
We’ll adopt MongoDb as Fast Read DataStore for the entire Blue Tiger Platform
MongoDb MongoDb MongoDb
MongoDb MongoDb MongoDb
Loyalty Couponing Ticketing Payments Issuing
800Mln Trx per Year
150k Clients
800k Trx per Year
10Mln Trx per Year
1Mln Cards per Year
MongoDb MongoDb MongoDb
MongoDb MongoDb MongoDb
MongoDb MongoDb MongoDb
MongoDb MongoDb MongoDb
Paybay - Copyright 2014 - All Right Reserved
![Page 18: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/18.jpg)
18
Contacts
{ name: “Salvatore Incandela”, twitter: “@sincandela”, email: “[email protected]”, linkedin: “https://www.linkedin.com/in/salvatoreincandela”}
Paybay - Copyright 2014 - All Right Reserved
![Page 19: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/19.jpg)
Grazie
![Page 20: Salvatore Incandela "Loyalty cashback - Scaling with MongoDB"](https://reader033.vdocuments.us/reader033/viewer/2022042816/558a0229d8b42a88118b4637/html5/thumbnails/20.jpg)
Q&A