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

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

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.

Tasks and
requirements

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 image
    01. Exchange trading
  • Broker image
    02. Brokerage services
  • Forex image
    03. Currency trading
  • Broker image
    04. Over-the-counter trading in securities and various derivatives

Alfa-Bank investment business lines

  • Trading image
    01. Exchange trading
  • Broker image
    02. Brokerage services
  • Forex image
    03. Currency trading
  • Broker image
    04. Over-the-counter trading in securities and various derivatives

Solution

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:

  • Solutions image
    Accepts requests for data entry
  • Solutions image
    Processes data
  • Solutions image
    Stores converted data
  • Solutions image
    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.

Alfabank diagrams

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+5k/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

Tell us about the tasks of your project, and we will compose a solution for you on Tarantool

Other
success cases

How Gazprombank speed up internal systems 50 times using the Tarantool
GPB Logo

Get
a consultation

Order
a demo

Thank you for your request

Tarantool experts will contact you shortly

Thanks
Thanks