In a move that could shake up both the commercial and open source database management system markets, Facebook announced on Thursday that it has worked with fellow Internet giants Google, LinkedIn, and Twitter to develop WebScaleSQL, an open source, web-scale branch on top of Oracle's publically available MySQL Community Edition.
"Our goal in launching WebScaleSQL is to enable the scale-oriented members of the MySQL community to work more closely together in order to prioritize the aspects that are most important to us," wrote Facebook software engineer Steaphan Greene in a draft blog post shared with InformationWeek. Greene explained that the group wants to "help companies leverage the great features already found in MySQL 5.6, while building and adding more features that are specific to deployments in large-scale environments."
[Want more on Facebook's contributions to high-scale hardware? Read Open-Source Hardware: Prepare For Disruption.]
Over the last few months, the collaborators have built a community structure for sharing and reviewing WebScaleSQL contributions, and engineers from all four companies have contributed code and provided feedback to each other "to develop a new, more unified, and more collaborative branch of MySQL," Greene wrote.
MySQL is the most popular open source database management system (DBMS) in the world, accounting for one quarter of all multi-client DBMS deployments, according Evans Data Research. In choosing to build on MySQL, the WebScaleSQL community has opened up an avenue for hundreds of thousands of MySQL developers to grow their deployments to unprecedented scale.
The move also poses a threat to certain NoSQL and NewSQL DBMS upstarts that have gained many of their customers among organizations frustrated by the difficulty of managing MySQL at high scale. According to Greene, the WebScaleSQL community has already developed components, including:
- Features that make operating at Web scale easier, such as a super read-only feature and the ability to specify sub-second client timeouts.
- Changes to improve the performance of WebScaleSQL, including buffer pool flushing improvements, optimizations to certain query types, and support for Non-Uniform Memory Architecture (NUMA) interleave policy.
- An automated framework that will run and publish the results of MySQL's built-in test system for each proposed change.
- A suite of stress tests and a prototype automated performance testing system.
WebScaleSQL is a set of patches on top of Oracle's publicly available MySQL Community release. The plan is to follow changes to MySQL Community Edition to ensure the latest features are available in WebScaleSQL. Like MySQL, WebScaleSQL is available under GPL licensing.
Conspicuously absent from WebScaleSQL's announcement was any mention of Oracle, which owns MySQL and offers Enterprise and Cluster editions of MySQL aimed at high-scale needs. WebScaleSQL is building on publically available Community Edition software. "As long as the MySQL community releases continue, we are committed to remaining a branch -- and not a fork -- of MySQL," a spokesperson told InformationWeek in an email interview.
WebScaleSQL will welcome other scale-oriented members of the MySQL community to contribute, according to Greene. The group is currently working on:
- Developing an asynchronous MySQL client that won't have to wait to connect, send, or retrieve while querying. This non-blocking client developed and in production use at Facebook is being code-reviewed by the other WebScaleSQL teams.
- Adding Facebook production-tested compression and versions of table, user, and compression statistics.
- Adding Facebook's Logical Read-Ahead mechanism for "up to 10x" speed improvements in full table scans, such as nightly logical backups.
The introduction of WebScaleSQL is not an immediate threat to commercial or open source products in the enterprise market. For starters, Facebook, Google, LinkedIn, and Twitter are all self-supported IT shops, whereas smaller enterprises would want a commercial support provider. It's also unclear where "Web-scale" begins and whether MySQL Enterprise and MySQL Cluster Carrier Grade Edition would be more practical and cost-effective products for current customers looking to scale up. Commercial database vendors including IBM, Microsoft, and Oracle, meanwhile, might learn new tricks on how to scale up their own enterprise-oriented database products.
As for the NoSQL, and particularly the NewSQL, crowd pursuing Web-scale deployments, WebScaleSQL will undoubtedly force them to distinguish their products beyond the baseline promise of offering performance at big data scale.
Improved platforms, standards, bandwidth rates, and data models mean more IT shops are taking a "cloud-first" approach to new services, keeping only select jobs in house. But what's often left out of the calculus is the impact on the end user when you outsource most services. Register for this InformationWeek editorial webinar and learn how to avoid the pitfalls of outsourcing IT. The Performance From The User's Perspective webinar happens March 28. Registration is free.