Swedish bank shows how to run an enterprise on in-memory databases

CIO says replacing Oracle system with the GigaSpaces in-memory database grid in the cloud enables real-time analytics and agile product development.

One benefit of running enterprise applications on in-memory databases is the ability to perform real-time analytics on transactions. A Swedish online bank is among the few companies that have invested in cloud-based architecture and in-house development to make it happen.

In early June, Avanza Bank, headquartered in Stockholm, went live on the cloud-enabled, in-memory eXtreme Application Platform (XAP) from New York-based GigaSpaces Technologies Inc.

"It's a complete relaunch of the entire bank based on GigaSpaces," said Avanza Bank CIO Ronnie Bodinger. "We have closed down the old system."

Though it may be considered visionary now, the Avanza architecture is destined to become a mainstream best practice at companies with similar needs for scalability and real-time analytics, analyst Massimo Pezzini wrote in a report for Gartner Inc., a Stamford, Conn.-based research company. But he cautioned that "following Avanza Bank's leading-edge approach requires advanced IT skills, technical prowess, and the willingness to take business and technical risks by adopting radically innovative design patterns and technologies."

The banking platform's radical redesign also provides an early view of where most enterprise applications, including ERP, are probably headed, according to Gartner analyst Christian Hestermann. Mission-critical functions will increasingly be transferred to in-memory technology that runs in the cloud, making real-time analytics possible on transactional data that historically could only be extracted in daily batches from slower on-premises systems.

Java out, Java in

The old "traditional" Web-based system depended heavily on Oracle database technology and the Java programming language and could not accommodate the bank's expansion plans, according to the Gartner report. Though the core business applications' tightly coupled architecture was highly optimized for performance and scalability, it was "nearly impervious to change," Pezzini wrote.

Avanza had also built an Oracle distributed-cache reporting system that had limited data-writing capability, which limited its scalability, according to Bodinger.

"If you have to read mostly, you can scale out using a distributed Oracle system, but increasing write capacity is much harder," he said.

The redesign of the core banking applications was mostly hatched and executed in-house by a staff of around 50 Java developers working with SO4IT, a nearby IT consultancy. Bodinger said the bank is only using three or four consultants as resources on the project to help get its own developers up to speed.

In fact, familiarizing programmers with the new technology proved the biggest challenge. "We had to educate our own developers in the GigaSpaces way of thinking," Bodinger said. "It's quite different from other platforms."

More on in-memory databases

How in-memory technology improves BI and data analysis

Key tips to make the most of in-memory grids

Improve performance with in-memory data grids

Fortunately, the Java expertise built up internally over a decade would not go to waste. The bank chose the Spring Framework, a popular open source methodology for developing Java enterprise applications because it fits developer skill sets and the bank's business requirements and is supported by XAP's service-oriented architecture, according to Pezzini. "The Spring Framework also mostly isolates the applications from XAP proprietary APIs [application programming interfaces]. This way, if there's a need to migrate to an alternative platform, the migration cost would be relatively low," he wrote.

The process has gone extremely well, according to Bodinger. "We have been really surprised how easy it has been to develop on the new platform," he said, noting that the relaunch went off a month ahead of schedule. "All of our developers have the entire bank on their local machine," which makes it easy to safely test application integrations offline on the same computer.

The bank still uses its Oracle database, but only for a particular report that is needed once a year. Bodinger said the team hasn't integrated the report database with the new system so it can focus on customer-facing work, but might get to it sometime this year. There's no ERP system, per se; the bank instead uses cloud-based accounting software from Visma, a Swedish vendor.

In-memory database of record supports innovations

Bodinger said the key to performing real-time analytics on transactional data is the way the GigaSpaces XAP partitions customer data across 15 machines. "We have really massive computing power connected to the data itself," he said. Two third-party data centers north and south of Stockholm serve approximately 400,000 customers.

According to the GigaSpaces website, collocating application logic, messaging and partitioned data together in memory makes all three functions highly scalable. This in-memory "database of record" approach not only enables mixed transactional and analytics processing, Pezzini wrote, it gives the bank flexibility regarding which applications it offers to individual customers. Data on customers, orders, accounts, trades and the like is kept in partitioned, replicated in-memory data grid instances. Each transaction updates this in-memory data while creating an entry in an in-memory log, which is then used to update a recovery database from New York-based MongoDB.

Bodinger confirms the technology has transformed the bank's analytics and new-product development. For example, a risk-management application helps human analysts monitor several risk factors in real time, such as whether a customer has exceeded 105% of the amount they are allowed to borrow on margin (using other securities as collateral) or the currency risk in accounts that mix U. S. dollars with Swedish kronas. "It's humans looking at the data, but they have automated responses that they can trigger for the different cases, such as, 'Sell the top five stocks of this customer,'" Bodinger said.

The new analytics capabilities also allow the bank to identify the 100 customers who present the highest risk to the bank and take steps to limit their impact. "We can offer our customers better interest rates because we have [lowered the] risk of the entire bank," he said.

Asked whether the new platform is "future-proof" and can support new technologies indefinitely, Bodinger responded, "It's the scalability. We have no limitations on scalability. We have never dropped a transaction -- ever -- and we don't plan to. The demand for new features is always increasing, and if we didn't have this in-memory architecture, we can't keep pace with new actors in the market."

Bodinger said the bank had developed Windows Phone and Apple iPhone apps and was working on a second-generation order management system. On the horizon are new mortgage products and an overhaul of the Windows desktop applications used by day traders.

Dig Deeper on ERP case studies