MySQL 8 makeover: RC1 is now available on GitHub
The long awaited update is here and there’s so much to see. This makeover is more than just a shiny new coat of paint on MySQL. But don’t worry: MySQL still offers the same great database management system, except now it works even better with modern applications.
MySQL, the popular open source database management system is working on an exhaustive new update. Oracle has made the first release candidate available on GitHub for developers who want to take a crack at what this new update has to offer. RC 1 is meant to help bridge the gap between MySQL and modern applications.
For those of us in the audience paying attention, the update number 8 is something of a shock. Given that the last stable release was 5.7.19, that’s a pretty big skip. Especially since they’ve been running with the 5.X theme since 2005. Much like Angular, MySQL wanted to emphasize the change in the system. The fresh number shows the depths of the changes to the core coding.
The big theme for this update has been “making MySQL better for modern apps”. And as far as Oracle is concerned, that means making modern applications mobile-first. It’s not just an add-on theme for existing apps, but making mobile apps native. (Also, they’re interested in reducing the number of clicks necessary for a transaction).
It also includes additional support for Unicode (UTF-8 encoding). What brought this on? Emojis. Lots and lots of emojis. However, as they point out, modern applications require first-class support for UTF-8 right out of the gate.
Probably one of the most important features is the improved JSON support. Modern applications require speed and flexibility and JSON gives them that. As for the SQL Functions, the latest release adds functions to check the on-disk size of the native JSON type, array, and object aggregate functions. Plus, a pretty function for formatting!
JSON path expressions also now support ranges. This means developers can now extract the top n or last item from an array. Oracle has also enhanced JSON’s performance with optimized support for a partial update. They’ve also improved the performance of manipulating JSON in cases like sorting data.
Introduced in the last release, the document store allows users to treat MySQL like a document database, with a set of NoSQL CRUD APIs to access their data. Now, this document store provides users with consistent reads-and-writes. This update gives the latest version an advantage over comparable NoSQL databases, since developers can keep transaction semantics. Additionally, any data created in the document store can also be access via the regular MySQL SQL protocol.
This latest release also improves search capacities for JSON. This update expands the indexing capabilities of the MySQL document store. There is additional support for spatial indexing in order to enhance spatial searches. Also, users have much more flexibility in searching their data within JSON documents inside of MySQL. Full text indexing of a partial or entire JSON document is now allowed, improving full text searches.
Shiny new customization options are now available, from color, custom fonts, and more. New customizations let users add session information or contextual information within the shell. This helps users track and view things like connection/protocol, active schema, SSL enabled, and more.
What else is new?
Such a massive update has lots of exciting changes. Other fun additions to MySQL 8 include things like:
- CTEs and window functions
- Better handling of hot rows
- Unicode 9.0 support
- Improvements to query consistency
- GIS support
- Cloud support
- Native data dictionary
- Invisible indexes
- Improvements to defaults
- Refactoring and modernization
- And more
Head on over to the official MySQL Server Blog to see all of the highlights from release candidate 1. The source code is available to download now on GitHub; binaries are available from dev.mysql.com.