In Japan, SBI Securities is the number one online securities company in the industry in terms of the number of accounts, customer assets and individual brokerage trading value. Operated by SBI Holdings, they have over 2.6 million securities accounts as of March 2013 and handle trading in the U.S., China (Hong Kong), South Korea, Russia, Vietnam, Indonesia, Thailand, Singapore and Malaysia. The company offers trading via their website, applications and smartphone websites. With 1,312 funds available, the trading system is mission critical. Not only can any downtime stop revenue; it can also create significant publicity and consumer satisfaction issues.
Scaling Multi-Site Systems, Still a Database Bottleneck
SBI Securities built its online trading system with the typical, three-tier architecture of the time – web servers, application servers and database servers. As its security accounts rapidly grew, the technology team began to see issues with system performance and realized the database server had become the bottleneck. To address the issue, the team decided to deploy a duplicate of the system that was partitioned for adding new customers. However, maintaining multiple sites and systems added a burden in terms of risk, complexity, capital costs and operational overhead. SBI needed a new approach to scaling the data tier.
According to Yozo Ito, General Manager at Hitachi Ltd, whose company directed the implementation, “Our top goals were around improved latency, scale and cost. Since the existing system was expensive and underperforming, we would not be able to keep customers satisfied and improve margins.” SBI needed to find a solution with low latency under increasing load and the ability to scale out as accounts and transaction volume increased. The company also wanted to reduce costs by removing duplicate systems that were originally created as partitions for scaling purposes. Of course, SBI required the data be redundant, recoverable, reliable, consistent and safe. As they began working with NRI Financial Solutions and Hitachi, Ltd. SBI’s technology team realized alternatives would not meet their needs and chose Pivotal GemFire.
Building an In-Memory, Distributed Data Grid with Pivotal GemFire
As NRI, the primary system integrator and application developer and Hitachi, Ltd. began to define the system requirements, they looked at in-memory systems and distributed cache solutions – the only two architectures and approaches they could see working for SBI. Then, they began an evaluation and test phase to prove the performance of several solutions. First they tried a competitor’s product and while they saw some performance gains, they also saw limitations with scale-out configurations. Additionally, they couldn’t port their existing app because there was no API compatibility. As they tested Pivotal GemFire, the evaluation team realized it outperformed the other systems and could scale out. While the existing application would still need to be transformed, they saw how GemFire would provide higher performance at a lower cost.
Pivotal’s engineering team worked together with both NRI and Hitachi, Ltd. on a weekly basis from the beginning of the build out to the production deployment. As the system went live in January 2011, 150 servers were deployed – almost three times fewer servers than the prior 400 server system. They also were able to reduce their data center footprint by a factor of five and a post-project evaluation by SBI showed that cost reduction goals were achieved. In addition, the system now handles transactions at twice the volume as before with reference latency that is 20 times faster (.05 seconds vs. 1 second) and execution throughput that is three to four times faster.
Provide Lower Latency under Load than Traditional Databases
As an in-memory, distributed data platform, Pivotal GemFire can act as a primary data store or cache existing databases and mainframes to dramatically increase all types of data processing speed through parallelism. With a shared-nothing architecture, SBI saw firsthand how GemFire makes use of CPU, memory, network and disk to provide extremely low latency as load increases.
Ito said, “When you look at how Pivotal GemFire distributes and replicates data and add the dimension of memory being faster than disk, you quickly realize why this model of data platform outperforms traditional solutions. Disk won’t provide the speed that memory can and centralized data cannot beat the ability of a distributed system to run in parallel. There is also a financial incentive to running on commodity hardware.”
Reduced Costs, Complexity and Risk
Pivotal GemFire often runs in a smaller footprint than other solutions, as it did at SBI. Built in cluster and distribution management reduces application development costs and a familiar Java HashMap API gives developers a familiar data access mechanism. For operations, the cluster provides continuous uptime with high availability, disaster recovery and redundancy built in – along with additional cluster management tools to operate a grid of commodity hardware. GemFire also supports hot deployments, rolling upgrades, multiple data models and the ability to run different versions of an application at the same time.
According to Ito, “When we first chose to partition our existing system, we knew the costs would increase significantly. As we chose Pivotal GemFire, we knew some code had to change, but the overall, bottom-line cost structure went down significantly for capital and operating expenses.”
Ability to Scale the Data Tier
“The bottom line is Pivotal GemFire shows a near-linear ability to scale,” according to Ito. As nodes are added to GemFire’s cluster, capacity is added – the scale of the system is elastic. It will balance the use of resources across the network and intelligently manage the data while reducing network round trips. Nodes can also be added or removed without impact to application code. GemFire is cloud-ready and proven to handle the hardest data problems in the world, such as systems with over a billion daily requests.
For SBI Securities, Pivotal GemFire’s results speak for themselves – greater performance with fewer resources. It provides extremely low latency and scales with spikes as well as usage growth over time. Importantly, GemFire also provides a more cost-effective means of managing the data tier for high-volume data industries, like an online brokerage with plans for future growth.