MySQL 5.7 introduced a new JSON datatype, allowing the creation of tables with fields that store arbitrary JSON objects. The SQL syntax was also extended to support JSON CRUD operations on these fields.
MySQL 5.7.12 introduced the X Plugin, enabling MySQL to function as a Document Store, communicating over a new protocol called the X Protocol and accessed via a NoSQL Mongo-like query language called X DevAPI, supported in Node.js using mysql-connector-nodejs.
Here is some more information:
According to the docs for the MySQL Connector/Node.js library, it requires Node.js 4.2 and above. This means that it will only be officially supported in the next version of Meteor 1.4 which will contain a compatible version of Node.js.
Also, its asynchronous interface relies on promises instead of traditional callbacks. This means, you will need to call it using Meteor’s Promise.await() method instead of Meteor.wrapAsync().
I also note that this asynchonous interface can be used for executing traditional SQL statements as well.
Here are a couple of articles I found on Percona’s blog with practical examples demonstrating its usage:
I see this new MySQL plugin as a great enabling tool to allow Meteor & Node.js applications to leverage the benefits of SQL-relational and NoSQL paradigms with a single instance of the MySQL DBMS.
For example, key packages like Meteor Accounts can now be far more readily ported to MySQL with far less effort than before.
I also see this as having the potential to fuel increased adoption of Meteor & Node.js in more conservative tech companies that have existing ecosystems based on MySQL and relational data, who may be suspicious or hesitant in trusting NoSQL databases like MongoDB in enterprise applications.