WebScaleSQL is an open source database management system (DBMS) created as a software branch of MySQL 5.6. By joining efforts of a few companies and incorporating various changes and new features into MySQL, WebScaleSQL aims toward fulfilling various needs arising from deploying MySQL in large-scale environments.
Running MySQL on numerous servers with large amounts of data (at the scale of terabytes and petabytes of data) creates a set of difficulties that in many cases arises the need for implementing specific customized MySQL features, or for introducing changes to MySQL. More than a few companies were facing the same (or very similar) set of difficulties in their production environments, what used to result in multiple solutions for similar challenges.
WebScaleSQL was announced on 27 March 2014 by Facebook, Google, LinkedIn and Twitter as a joint effort, aiming to provide a centralized development structure for extending MySQL with new features specific to its large-scale deployments, such as building large replicated databases running on server farms. Thus, WebScaleSQL opens a path toward deduplicating the efforts each company had been putting into maintaining its own branch of MySQL, and toward bringing together more developers.
WebScaleSQL is created as a branch of the MySQL's latest production-ready community release, which is version 5.6 as of March 2013[update]. As the project aims to tightly follow new MySQL community releases, branching path has been chosen instead of becoming a software fork. Selection of MySQL community releases for the WebScaleSQL's upstream, instead of selecting some of MySQL forks, was the result of a consensus between the four founding companies; it was concluded that features already existing in version 5.6 of MySQL are adequate for large-scale deployments, with even more such features planned for version 5.7 of MySQL.
WebScaleSQL's initial changes and additions to the MySQL 5.6 source code came from the four founding companies' engineers; however, the project is open to peer-reviewed community contributions. As of March 27, 2014[update], available new features and changes include the following:
- a framework providing automated testing of all proposed changes
- a customized suite of database performance tests
- various changes to the tests provided by MySQL's community release
- performance improvements in various areas, including buffer pool flushing, execution of certain types of SQL queries, and support for NUMA architectures
- changes related to large-scale deployments, such as the ability to specify sub-second client timeouts.
- asynchronous MySQL client that will eliminate waiting on the client-side while establishing database connections, sending queries and receiving results
- availability of various table, user and compression statistics
- changes to internal compression mechanisms
- addition of a logical read-ahead mechanism that brings significant performance improvements for full table scans.
WebScaleSQL is distributed in source-only form, with no official binaries available. As of March 27, 2014[update], compiling the source code and running WebScaleSQL is supported only on x86-64 Linux hosts, requiring at the same time a toolchain that supports C99 and C++11 language standards.
- Steven J. Vaughan-Nichols (March 28, 2013). "WebScaleSQL: MySQL for Facebook-sized databases". ZDNet. Retrieved April 1, 2014.
- Klint Finley (March 27, 2013). "Google and Facebook Team Up to Modernize Old-School Databases". Wired. Retrieved April 1, 2014.
- Jack Clark (March 27, 2013). "Forkin' 'L! Facebook, Google and friends create WebScaleSQL from MySQL 5.6". The Register. Retrieved April 1, 2014.
- "Frequently Asked Questions". webscalesql.org. March 27, 2014. Retrieved April 1, 2014.
- "Patches for MySQL 5 - MySQL tools released by Google". code.google.com. June 24, 2011. Retrieved April 1, 2014.
- "facebook/mysql-5.1". github.com. June 2013. Retrieved April 1, 2014.
- "Is Your Change Appropriate?". webscalesql.org. March 27, 2014. Retrieved April 1, 2014.
- Michael Larabel (March 28, 2014). "Facebook & Others Announce WebScaleSQL". Phoronix. Retrieved April 1, 2014.
- Official website
- WebScaleSQL 5.6 source on GitHub
- WebScaleSQL: A collaboration to build upon the MySQL upstream (provides details for new features)
- MariaDB and WebScaleSQL