MySQL is the most trusted and widely used open source database platform in use today. 10 out of the top 10 most popular and highly-trafficked websites in the world rely on MySQL due to its ubiquity across heterogeneous platforms and application stacks and for its proven performance, reliability, and ease of use.
MySQL 8.0 builds on this momentum by delivering across the board improvements designed to enable innovative DBAs and Developers to create and deploy the next generation of web, embedded, mobile and Cloud/SaaS/PaaS/DBaaS applications on the latest generation of development frameworks and hardware platforms.
Some of the MySQL 8.0 highlights include:
- MySQL Document Store enabling developers to create NoSQL document database applications using schemaless JSON collections. Now developers have the flexibility of developing both relational and NoSQL document applications using a single database, without having to use a separate document database.
- MySQL 8.0 is 2x faster than MySQL 5.7 and sets new benchmarks records. Sysbench Performance Benchmarks demonstrate that MySQL is 2x faster in both Read Write and Read Only tests. Furthermore, MySQL 8.0 sets new benchmark records with up to 1.8 Million Queries/Second.
- Improved Reliability with a Transactional Data Dictionary. Previously database data dictionary meta data was stored in multiple file formats and different locations. The MySQL 8.0 Data Dictionary is implemented as a set of SQL tables stored in a single InnoDB tablespace. DDL statements are atomic and crash safe, resulting in improved reliability.
- Improved Security with multiple enhancements including SQL Roles. MySQL 8.0 implements standard SQL Roles. A role is a named collection of privileges. One can grant roles, grant to roles, create roles, drop roles, and decide what roles are applicable during a session. Also provided is an SQL function ROLES_GRAPHML() returning a graphml document representing role subgraphs.
MySQL Document Store
MySQL Document Store allows developers to work with relational tables and schema-less JSON collections. To make that possible MySQL has created the X Dev API, which puts a strong focus on SQL and CRUD by providing a fluent API allowing you to work with JSON documents in a natural way. The X Protocol is a highly extensible and is optimized for both SQL and CRUD API operations.
MySQL Shell is an advanced command-line client that offers scripting capabilities for JavaScript and Python.
The MySQL Document Store architecture consists of the following components:
- MySQL X Plugin – The X Plugin enables the MySQL Server to use the X Protocol and uses MySQL Shell to act as a client to the server. The X Plugin is supplied with MySQL 5.7.12 or higher.
- X Protocol – For the MySQL Document Store a new client protocol was developed based on top of the Protobuf industry standard. The X Protocol works for both, CRUD and SQL operations.
- X DevAPI – The X DevAPI is a new, modern, async developer API for CRUD and SQL operations on top of X Protocol. It introduces Collections as new Schema objects. Documents are stored in Collections and have their dedicated CRUD operation set.
- MySQL Shell – The MySQL Shell is an interactive Javascript, Python, or SQL interface supporting development and administration for the MySQL Server. You can use the MySQL Shell to perform data queries and updates as well as various administration operations.
- MySQL Connectors – The following MySQL Connectors support the X Protocol and enable you to use X DevAPI in your chosen language to develop applications that communicate with a MySQL Server functioning as a document store.
- MySQL Connector/J
- MySQL Connector/Node.js
- MySQL Connector/Net
- MySQL Connector/Python
- MySQL Connector/C++
