Alfa-Bank: How Tarantool combined data from multiple systems

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.



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




trading in securities
and various derivatives




transformation scheme



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



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.



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.

transformation scheme

icon icon icon


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


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)


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)


Calculates and delivers pricing parameters for transactions and complex financial instuments


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