MySQL has announced MySQL Server 5.7, release candidate 1 (5.7.7), which represents the first major release since the 5.6 GA release 2 years ago.
MySQL 5.7 RC 1 adds enhancements in several important areas, which are targeted at both growing with existing customers and their current installed base and demands, as well as trying to enter into new market segments, according to Tomas Ulin, vice president for the MySQL engineering team at Oracle.
“We have a very strong position in the web/ISV/embedded telco market and we have put a lot of effort into maintaining and fulfilling the growing requirements in those areas,” said Ulin. “But we have also added features to enter into other areas, to appeal to more enterprise-type applications with security, GIS, and optimizer work that we have done to get into more data warehouse and GIS-type applications.”
Performance and Scalability
Particular attention has been paid in the area of performance and scalability. “We have continued down the track that we have been on. As computer hardware becomes more multi-core we need to be able to follow that, and as SSDs become more deployed, we need to be able run fast on those as well,” said Ulin. “We have a number of improvements and new features that allow us to utilize modern hardware, scalability and performance-wise.”
Security is another area that has been improved with the new release. “MySQL is the most deployed open source database out there in the world, and of course that leaves systems vulnerable unless we can provide the security features that are needed. We have put a lot of focus under Oracle’s regime here to make MySQL more and more secure, both for existing customers but also to satisfy the requirements of new enterprise customers better.” As part of this effort, he said, there is now secure install by default to ensure that a DBA at install time does not make a mistake and put default passwords in, and to make sure that all password management is hidden.
In addition, the C client library now attempts to establish an SSL connection by default whenever SSL is supported by and enabled on the server. If an SSL connection cannot be established, the client library falls back to an unencrypted connection.
Moreover, there is also security features around for example being able to audit what is going on and also being able to have an enterprise firewallto allow alerts when certain types of queries are being executed on the system, and authentication that leverages existing authentication infrastructure to beef up security and ease of management around security, said Ulin. “If it is complex, then of course you become lazy and don’t take the necessary steps to actually secure your system.”
The ability to have the data in the main database replicated into one of several replicas a feature that has made MySQL so successful in its ease of use and its ease to set up, said Ulin. The replication is used to enable scalability as well as to support high availability.
“With 5.7, we have made a number of improvements around replication,” said Ulin. In terms of performance and scalability, the slave is now eight times faster, and can sustain a much higher load, he noted.
“We have also provided a new use case for replication, which is called ‘multi-source replication. Previously, it was one-to-many, so you took one database and you put the same copy onto several other databases to support high availability and scale-out.” Now, he said, it is possible to have a number of different databases, perhaps from different branches of a corporation, and gather all the information into one database for many-to-one, or multi-source, replication to enable data mining on the combined dataset. “That is a new feature for replication,” said Ulin.
In addition, Ulin said, although MySQL has historically been strong at fairly simple queries, now there is a focus on making sure that the database does well with more complex queries and executes them in the most optimal way, said Ulin. “We have put a lot of work into re-engineering the optimizer.” This is a strategic enhancement, targeted at enabling the database to be used for more types of applications than previously, so MySQL can expand its customer base.
GIS (Geographic Information Systems) Data
And, also to enable the use of MySQL in more types of applications, work has been done in 5.7 around the GIS area, said Ulin. MySQL now uses an off-the-shelf library for GIS functionality called Boost Geometry, which enables MySQL to evolve faster, and MySQL also has full spatial index support with InnoDB, with support for transactions and ACID compliance. “That is another area that we are entering more aggressively,” said Ulin.
For detailed release information, go here.