Executive Summary
Recognizing the explosive popularity of online fantasy sports, a leading nationwide professional football league set out to develop an online fantasy football experience for the 2010 season. This high-profile initiative required the selection of an enterprise-grade private cloud platform, as the league decided against storing the private data of its customers in the public cloud because of the history of security issues on public clouds, as well as a high probability of outages or brown outs during peak demand periods.
The solution provided by the league’s chosen vendor would need to address several difficult challenges, including:
- Extreme performance requirements of a transaction-intensive database environment
- Processing large amounts of non-cacheable data generated in real-time from external data feeds
- Cost-effective scalability to support a rapidly growing user base of millions of online players
- Reliable and robust architecture capable of consistently fast performance during peak periods
After evaluating a range of options, including tapping one of its long-time strategic partners, Oracle or IBM, to host its new fantasy football initiative, the client selected ZeroLag. Primary factors driving the league’s decision included ZeroLag’s senior technical team, which has more than 25 years of experience engineering and managing high-end mission-critical solutions, such as sharded database systems. Plus, ZeroLag has a proven track record in building industrial-strength hosting environments for high-traffic web sites.
The Problems
The football league faced a number of challenges which had to be solved by ZeroLag:
Extreme performance demands associated with non-cacheable dataset
Fantasy football is database-driven and transaction-intensive, generating large amounts of constantly changing non-cacheable data as live games unfold. Peak demand occurs during draft periods and the season opening game days, when millions of online users compete head-to-head. With the league’s online system tracking a myriad of statistics and updating users’ lineups in real-time, millions of transactions must be processed simultaneously to provide a satisfying user experience.
The traditional method for improving the performance of high-traffic web sites is to either increase the size of the database server or reduce the load on the database by placing a caching tier in front of it. But because fantasy football is dependent on a non-cacheable dataset, the league projected that either technique would yield limited performance benefits and not scale as the league’s staff had seen previously with the other major fantasy football platforms.
All conventional database architectures are inadequate at this scale and perform poorly due to competing disk I/O and CPU threads and other inherent limitations. And while monolithic SAN-based solutions are capable of greater transactional performance when looking at an individual device, they are cost-prohibitive at the scale required by the client’s fantasy football application.
Linear scalability of performance and cost
The league anticipated high growth post-launch, but the exact growth rate was unknown. The client required a hosting environment which provided a linear cost to performance ratio. Typically, as performance demand increases, hosting costs rise faster. But the client wanted to ensure meeting future demand would be as cost-effective as possible.
High profile and expectations
As one of the most widely recognized brands in the world, the league puts its imprimatur on products and services only of the finest quality. The league understood that the launch of its new online fantasy football experience would have an extremely high profile, with legions of loyal consumers, as well as pundits and critics watching it very closely.
The Solution
ZeroLag designed an innovative infrastructure solution which provides the client significantly better performance and reliability than other leading fantasy football sites, at a lower price point and with less hardware.
ZeroLag accomplished the league’s objectives by leveraging its proprietary LAMP stack, Xenon, to implement a horizontally scaling (true symmetric multiprocessing) database partitioning solution which allows for faster access to information. This high-performance sharded database solution scales on demand to the client’s unique ultra-high database transaction bursting needs.
What is database partitioning?
Partitioning is a common technique for improving database performance used by companies such as Google. This design principle involves storing data in a number of separate databases, or splitting up selected elements of the database, such as particularly large table into multiple tables. There are several variations of this technique, including database normalization and vertical partitioning.
What is sharding?
Sharding is an advanced partitioning technique, sometimes referred to as horizontal partitioning. Sharding has gained popularity in recent years in response to rapid acceleration in transaction volumes and immense growth in the size of databases.
This technique permits a large database to be broken up into much smaller pieces and distributed across many servers. Sharding offers several significant advantages including reduction of the data segment sizes and true symmetric multiprocessing as each server can be processing database requests independently of each other.
Sharding is an example of “shared nothing” (SN) architecture, meaning that each database node is independent and self-sufficient. SN architecture eliminates the performance bottlenecks of database solutions which rely on a single point of contention, such as shared memory or disk I/O. Non-sharded database architectures are subject to an upper transaction per second limit; a constraint which does not apply to a sharded solution.
Although developing a sharded database solution can take some time and requires planning, the performance gains delivered in production more than justify the up-front investment. Compared with other big data architecture strategies, sharding offers a much lower management tax, the processing overhead necessary to manage the database, meaning that computing resources are utilized more efficiently.
How ZeroLag’s database sharding solution helped the client
ZeroLag created a database solution consisting initially of 26 pairs (principal and mirror) of database servers, each pair storing a portion of the client’s fantasy football database in a sharded configuration, partitioned by leagues. New leagues are continually created by fantasy football users, and these leagues are algorithmically assigned to one of the database shards.
The Result
The client’s fantasy football site has become the leading traffic driver across all its online properties. During the 2013 season, ZeroLag’s hosting environment for client’s fantasy football site and database architecture delivered 100% uptime. This accomplishment is particularly notable in light of the downtime experienced by major competing fantasy football sites, including a well-publicized 30-minute outage suffered by Yahoo’s fantasy football service on the season opening game day.
Fantasy football year over year growth
With its ZeroLag-designed and managed sharded database architecture, the client can focus on growing the fantasy football business, adding additional fantasy football related game titles, and rest assured knowing that its hosting infrastructure will never sack the league’s online success.
The client’s confidence in ZeroLag has taken the company from its role as the exclusive hosting provider for the client’s fantasy football site, to providing complementary services such as disaster recovery, and additional services for the client’s other products.