WebScaleSQL
WebScaleSQL logo | |
Developer(s) | Facebook, Google, LinkedIn, Twitter and Alibaba Group |
---|---|
Development status | Active |
Written in | C, C++, Perl and Bash |
Operating system | Linux |
Platform | x86-64 |
Available in | English |
Type | RDBMS |
License | GNU GPL version 2 |
Website | webscalesql |
WebScaleSQL is an open-source relational database management system (RDBMS) created as a software branch of the production-ready community releases of MySQL. By joining efforts of a few companies and incorporating various changes and new features into MySQL, WebScaleSQL aims toward fulfilling various needs arising from the deployment of MySQL in large-scale environments, which involve large amounts of data and numerous database servers.[1][2]
The source code of WebScaleSQL is hosted on GitHub and licensed under the terms of version 2 of the GNU General Public License.[3][4]
Overview
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 arise the need for implementing specific customized MySQL features, or the need for introducing functional changes to MySQL. More than a few companies have faced the same (or very similar) set of difficulties in their production environments, which used to result in the availability of multiple solutions for similar challenges.[3][5][6]
WebScaleSQL was announced on March 27, 2014 as a joint effort of Facebook, Google, LinkedIn and Twitter (with Alibaba Group joining in January 2015[7]), 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. As a result, WebScaleSQL opens a path toward deduplicating the efforts each founding company had been putting into maintaining its own branch of MySQL, and toward bringing together more developers.[1][4][8]
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, a branching path has been selected instead of becoming a software fork of MySQL. The selection of MySQL production-ready community releases for the WebScaleSQL's upstream, instead of selecting some of the available MySQL forks such as MariaDB[9] or Percona Server,[10] was the result of a consensus between the four founding companies, which concluded that the features already existing in MySQL 5.6 are suitable for large-scale deployments, while additional features of the same kind are planned for MySQL 5.7.[1][3][4]
Features
The initial changes and feature additions that WebScaleSQL introduced to the MySQL 5.6 codebase came from the engineers employed by the four founding companies; however, the project is open to peer-reviewed community contributions.[11] As of September 15, 2014[update], available new features and changes include the following:[4][8][12][13][14]
- A software framework that provides automated testing of all proposed changes
- A customized suite of database performance tests
- Various changes to the automated tests provided by the MySQL community releases
- 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
- Performance and reliability improvements to the global transaction identifier (GTID)[15] feature of MySQL 5.6
- So-called
super_read_only
[16] operation mode for the MySQL server, which disables data modification operations even for privileged database accounts
As of March 28, 2014[update], planned new features and changes include the following:[1][8]
- New asynchronous MySQL client that will eliminate the client-side waiting while establishing database connections, sending queries, and receiving their results
- Availability of various table, user and compression statistics
- Changes to the internal compression mechanisms
- Addition of a logical read-ahead mechanism that will bring significant performance improvements for full table scans
Availability
WebScaleSQL is distributed in a source-code-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.[4]
The source code is hosted on GitHub and available under version 2 of the GNU General Public License (GPL v2).[3][4]
See also
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
External links
- ↑ 1.0 1.1 1.2 1.3 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 3.0 3.1 3.2 3.3 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 8.0 8.1 8.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- Pages with reference errors
- Use mdy dates from August 2014
- Pages with broken file links
- Articles containing potentially dated statements from March 2013
- Articles containing potentially dated statements from September 2014
- Articles containing potentially dated statements from March 2014
- Official website not in Wikidata
- 2014 software
- Client-server database management systems
- Free database management systems
- Linux-only software
- MySQL
- RDBMS software for Linux