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:
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:
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.
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
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
Tarantool experts will contact you shortly