Technical characteristics of the solution

Monday October 19, 2020
3:30 PM UTC

Session Lead: Miguel de Barros (@mdebarros)

Session Slides: https://github.com/mojaloop/documentation-artifacts/blob/master/presentations/October%202020%20Community%20Event/presentations/Mojaloop_OSS-PI-11_October2020_technical-overview.pdf

Session Recording: https://youtu.be/wPjqTZR0CI4

Please post questions, suggestions and thoughts about this session in this thread.

Post by clicking the “Reply” button below.

Miguel, please expand on the use of both MySQL/Percona and MongoDB—what are these two very different DB layers used for. Why both NoSQL and SQL based DBMSs?

[Answered on the zoom call by Miguel]

  1. Since we have micro-service architecture, there is flexibility to use the datastores that are best suited to particular scenarios or processing
  2. MySQL (Percona XtraDB) used for transfers, clearing primarily - uses normalized data of individual transfers, participants and related data
  3. MongoDB used during bulk transfers to store bulk messages (possibly large) as documents for disaggregation and aggregation and in CEP components (to store interesting data , rules, etc)
2 Likes

Thanks @elnyry-sam-k.

Also worth mentioning that Mojaloop relies on MySQL to provide consistency through strong data integrity semantics via ACID(Atomicity, Consistency, Isolation, Durability), especially on position management.

It also allows us to rigidly define our data models within the Central Ledger, across our central-services, account-lookup and quoting-service.

For Bulk, we also need to be able to persist a large message…and as such it is more efficient to store it directly as an object into MongoDB.

1 Like