|Written by Kay Ewbank|
|Tuesday, 27 October 2015|
Oracle has announced the general availability of MySQL 5.7, with promises of greater performance, scalability and manageability, along with JSON support.
It was showcased yesterday at Oracle OpenWorld in San Francisco by Tomas Ulin, Oracle vice president, MySQL Engineering,
The improvements in speed have been demonstrated using SysBench Read-only Point-Selects. With 1,024 connections, MySQL 5.7 delivered 1,600,000 queries per second (QPS), which is three times faster than MySQL 5.6. Some of the performance improvement is down to optimization of InnoDB, MySQL’s database engine. Other improvements to InnoDB include concurrency, enhanced on-line operations, spatial indexes, and native partitioning.
MySQL’s replication is another area where improvements have been made. Multi-source replication has been added, along with enhanced Global Transaction Identifiers (GTIDs), and improved multi-threaded slaves for better scalability and availability. There’s also a new dynamic cost model for the MySQL optimizer giving better query performance and greater user control.
The JSON support comes in the form of a new native JSON data type, the addition of JSON functions, and index management on the JSON documents using generated columns. The changes mean that CREATE TABLE and ALTER TABLE can create JSON columns, and the Field class now allows INSERT to and SELECT from JSON typed fields. The server side, built-in JSON functions mean you can construct JSON data values from other relational data, extract relational data from JSON data values, introspect the structure of JSON values and text (validity, length, depth, keys), search within, and manipulate JSON data.
The developers have also introduced a JSON comparator, similar to the DATE/TIME/DATETIME comparator, that allow comparisons of JSON scalars vs SQL constants, and JSON scalars vs JSON scalars. The comparator converts the SQL constant to a JSON scalar and then compares the values. inline JSON path expressions in SQL queries have also been added, so that MySQL now executes queries like:
SELECT … FROM t1 WHERE t1.json_field->”$.path.to.key”= 123;
The Performance Schema has been improved to deliver better insights. Performance Schema is a specialized MySQL Storage Engine that is used for storing dynamically created events. It has a SQL interface that you can use to query and monitor those events. The new version can be used to monitor metadata locking, transactions, memory usage, and stored programs.
The Geographic Information System (GIS) system has been replaced in this new version. Writing about the new release on the MySQL Server blog, Geir Hoydalsvik said:
“After a careful evaluation of various open source geometry engines, we decided to replace our original GIS algorithms with Boost.Geometry. For those that build MySQL from source, it’s important to read about the new CMake options we added in the process.”
The team has also and added support for a number of additional SQL/MM standard spatial operations. Support for two new import and export formats, GeoJSON and geohash, has been added. New GeoJSON functions ST_AsGeoJSON and ST_GeomFromGeoJSON will encode and decode GeoJSON documents. A number of helper functions have also been added, specifically ST_Distance_Sphere, ST_MakeEnvelope, ST_IsValid, ST_Validate and ST_Simplify. While GIS support in MySQL still only uses a flat 2d plane, ST_Distance_Sphere will calculate distance between two points (or multipoints) on a sphere with a given radius.
There’s also a new MySQL Router, which simplifies application development by intelligently routing queries to MySQL databases for increased performance and uptime. MySQL Router also provides cross-language support for MySQL Fabric.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Tuesday, 27 October 2015 )|