Who is Huawei?
Huawei is a leading global information and communications technology solution provider as well as a consumer electronics giant.
See https://www.huawei.com for more.
What Problems Did They Have?
The FusionInsight product is Huawei’s premier analytical platform to help businesses leverage Big Data and powerful analytics.
Quick to recognize the value of Fast Data in addition to Big Data, Huawei sought a foundational platform for expanding FusionInsight with real-time services. The first use case was live fraud analysis, where financial transactions are analyzed before they are authorized.
They needed a system that could perform hundreds or thousands of queries per financial transaction, applying user-provided logic and rules to gigabytes or terrabytes of recent history, blacklists and other state. This sytem would be packaged into the FusionInsight product, so it needed deployment flexibility, manageable cost, and financial-grade security.
Why Did They Choose VoltDB?
VoltDB had all of the features they needed:
- Low Long-Tail Latency
- Operational Robustness
- High Throughput
- Features that enabled more powerful analytics with instant responses
- Low Operational Cost
- Cloud and Virtualization Friendly
- Secure with Robust Auditing Built-In
At the end of the day, VoltDB stood alone.
Traditional RDBMS vendors would have cost more, required more hardware resources, and used multiple-levels of architecture to achieve the same result.
NoSQL and other NewSQL systems couldn’t offer the query power needed to support the same levels of analysis at the same rates.
What Does Their VoltDB Solution Look Like?
Huawei uses VoltDB for the real-time fraud analysis.
Let’s focus on retail finance, specifically credit card transactions or mobile phone payments. Every time a card is swiped or inserted, or a phone is tapped or scanned, a decision about whether to authorize or decline the payment is made.
Once an account is known-bad, it’s put on a blacklist that is easy to check. So the state of the art is finding fraud the very first time a payment method is misused. Getting this decision wrong can be expensive. If you miss a fraudulent transaction, someone has to eat the cost of the purchase. Conversely, if you identify a legitimate transaction as fraud, the experience for the account-holder is poor.
FusionInsight customers (the issuing banks in this case) are presented with an interface for inputing business rules, either manually generated, or derived from automated analysis and/or machine learning.
Aside: Why doesn’t Huawei make the fraud rules? It turns out fraud rules are a closely guarded business secret by these banks, so the FusionInsight platform has to support loading whatever rules the customer wants.
The FusionInsight platform accepts the set of user-provided rules and compiles them into a set of VoltDB stored procedures in Java Jar file.
Aside: There are a number of ways to apply rules, ML models, and other statistical or classification tools in VoltDB, and Huawei choose one of them. If you’d like to learn more, reach out to us.
The Jar of scoring procedures along with dimension data (such as blacklists) are loaded into VoltDB and the customer is ready to analyze some fraud.
For every payment authorization, up to hundreds of procedures will be called, each with many SQL queries and different scoring logic. The client then combines the outcome of these procedures and makes a fraud decision, ultimately recording the result in VoltDB as well, so the record of that decision can be used for near-future fraud analysis.
The final part of the process is the dynamism of the ruleset. Customers can change the logic in FusionInsight as often as every few minutes, meaning VoltDB has to accept and transactionally transition to entirely new logic without impacting load. In fact, this use-case led the VoltDB to make significant improvements in this area in the 6.x and 7.x timeframe.
The End Result
The end result is that scoring a single transaction may require a few thousand SQL queries. Multiply that by thousands of transactions per second, and you can see why a system like VoltDB was needed. VoltDB supports many millions of non-trivial queries per second, and each score is generated in milliseconds. No other system was able to achieve this for Huawei.
Note that this is certainly a brute-force approach to the problem; some fraud systems might work harder to reduce redundant work, or rely on probabilistic approximations of values rather than full computations. But there are big advantages to being a bit less clever too, especially if you have a database platfrom like VoltDB that can solve brute force problems with new levels of efficiency. As one example, if you rely on a clever trick that works for some kinds of queries, you run the risk of dramatically different performance for different queries. De-risking rule-updates is a big advantage of VoltDB for Huawei.
Read the press release announcing Huawei’s choice of VoltDB or download the pdf of this page below.