Alfa-Bank: How Tarantool combined data from multiple systems
cover

Combining data
from multiple systems
in Alfa-Bank's
investment business core

Various platforms provide data, and all the clients want to see their positions in real time.

Scroll

Tasks

Investment business is one of the most complex domains in the banking world. It’s not just about credits, loans, and deposits—there are also securities, currencies, commodities, and derivatives. In Alfa-Bank, investment business means over 300,000 transactions per trading day, 3,000 quotations per second, and 5,000 orders executed every second. Various platforms provide data, and all the clients want to see their positions in real time.

For years, lines of investment business in Alfa-Bank evolved independently. The variety of systems and their heterogeneity were causing problems, as the systems’ codebase became rather obsolete. The systems duplicated each other’s functions; each system had its own data model, although they used the same concepts. Sometimes it affected performance: an analytical query would take half an hour, data got outdated, and the system was on the verge of breaking with a workload of 5,000 transactions per day.

The business came to understand the need for a technological transformation. The main task was to collect all the data in a single fast storage. The project team formulated the solution requirements as follows:

  • Single data model
  • Data versioning
  • Enterprise-grade solution—one that has already been implemented in a major company
  • Fault tolerance and disaster recovery—data spread across multiple data centers in case one of them goes down
  • Horizontal scalability
  • Business logic developed on bank premises and deployed on top of the platform
  • Low TCO

Alfa-Bank investment business lines

Exchange
trading

Brokerage
services

Currency
trading

Over-the-counter
trading in securities
and various derivatives

Solution

Solution

Solution

Data
transformation scheme

Solution

icon

We deployed the IB-Core solution in Alfa-Bank. This is an investment banking core based on Tarantool Data Grid. The heart of the system is a cluster of 40+ Tarantool instances deployed in two data centers.

Every instance has a specific role:

  • Accepts requests for data entry
  • Processes data
  • Stores converted data
  • Sends notifications to users

Solution

icon

Every investment business system had its own data model. For this reason, the data had to be made uniform. If the data is not converted, it is saved in the repair queue, which has alerts and a UI. As a result, the bank does not lose the data.

Business customers often need additional calculations for making decisions. The project team added calculated fields to the solution. For example, there is a field linked to a function that calculates the average quotation price. The external user who requests data does not even know that this field is a calculated one.

Solution

icon

For complex daily, weekly, and monthly reports, the team implemented a task scheduler with runners. The tasks are stored in the same place as business data. At the due moment of time, the scheduler takes a task, gives it to a runner, and the runner calculates and saves the result.

As a result, IB-Core stores all the aggregated data. The system cleans the data and transforms it into a reference model. IB-Core never deletes any object and never overwrites old data with new values.

Data
transformation scheme

icon icon icon
Scroll

Results

IB-Core has been operating in production since 2018. Here is what the system does:

2x

Processes up to 3,000 quotations and 5,000 orders per second

>3+5 k/c

Brings data in accordance to the reference data model (more than 5,000 strings)

30k

Passes orders through 30,000 strings of business code written on the bank premises, generating aggregates and operational reports in near real time (with just a second-long delay)

3k

Calculates and delivers pricing parameters for transactions and complex financial instuments

6mo

Stores all data versions in a hot storage for several months

Allows analyzing any incidents in the transaction life cycle

Get a consultation

Order a demo

Thank you for your request

Tarantool experts will
contact you shortly