This year at the Percona Live Data Performance Conference I’ll be talking about MySQL. MySQL is the world’s most popular open source database, enabling the cost-effective delivery of reliable, high-performance and scalable web-based and embedded database applications, including all five of the top five websites.
My interest in databases grew while working in banking in the late nineties. Back then I implemented back-end ATM servers using HP-UX and Sybase as the development platform. I remember we had an allowed maintenance window from 2am-5am, and struggled with finishing a blocking create index operation on our main table with 30 million rows. I remember thinking "Why can’t this be done while the database is online?"
A DBMS (database management system) is a combined communication system: an operating system, a file system, a compiler, and more. Each and every aspect of computer science is relevant: maintainability, observability, performance, availability, reliability, and security. The quality of developers you meet working in this area of computing is stunning.
MySQL 5.7 is the result of almost three years of development, and brings improvements to all areas of the project. Just take a look at the complete list of features . In terms of features that will have the most effect in the community, JSON support, the JSON datatype, JSON functions, and virtual columns are among the most important. Virtual columns can be used together with JSON functions to index the content in a JSON document. This functionality is opening up new choices for developers.
Query rewrite capabilities is a feature that can help solve many legacy problems in today’s complex software stacks, by rewriting queries before they are executed.
There are many scenarios where applications will see much improved performance: multi-core scalability, parallel replication slaves, connect/disconnect speed, temporary tables, GIS queries, a better optimizer that provides better JOIN ordering, a better use of indexes, and others. A smooth upgrade was one of our main design objectives, and so upgrading to 5.7 should be easy in most cases. The challenge comes when there is a need to balance 100% backward compatibility with improved data safety or improved security.