前言
由IMG社区组织的2016年MySQL技术嘉年华会还剩最后的两周时间,小伙伴们抓紧最后的报名时间。最有态度的MySQL社区打造最有态度的MySQL数据库大会(不知道这个口号会不会被罚20万呢)。购票点击:倒计时开始,2016年MySQL技术嘉年华即将来临
BTW,点击下方广告,手有余香哟~~~
正文
MySQL 5.7.12版本发布,虽然之前5.7已经GA,但这个版本依然承上启下,举足轻重,因为MySQL X Plugin来了。
X Plugin extends MySQL Server to be able to function as a document store. Running X Plugin enables MySQL Server to communicate with clients using the X Protocol, which is designed to expose the ACID compliant storage abilities of MySQL as a document store. Documents are stored in JSON format and enable schema-less storage. Using the X DevAPI you can use a NoSQL-like syntax to execute Create, Read, Update, Delete (CRUD) operations against these documents.
上述是官方文档对于X Plugin的描述。总结来说,通过X Plugin提供的X Protocol协议,可以将MySQL数据库作为一个文档数据库进行数据的存储(Document Store)。更重要的是,基于InnoDB存储引擎,使得该数据存储支持事务、行锁等特性,瞬间比肩了之前很多的文档数据库,比如MongoDB。
当然,这不是MySQL第1次支持NoSQL接口的Plugin,可能有很多小伙伴还记得memcached plugin。但是随着memcached越来越多地被Redis所取代,memcache plugin最终也没能有太大的发挥场景。不过这次的X Plugin或许会很不同。
来看看MySQL的X Plugin的简单使用,看看有没有找到MongoDB的身影呢?
mysql-js> db.CountryInfo.find()[
{
"GNP": 828,
"IndepYear": null,
"Name": "Aruba",
"_id": "ABW",
"demographics": {
"LifeExpectancy": 78.4000015258789,
"Population": 103000
},
"geography": {
"Continent": "North America",
"Region": "Caribbean",
"SurfaceArea": 193
},
...
}
]
240 documents in set (0.00 sec)
使用上和MongoDB还是会存在一些差异。不过总体来看,还是非常类似的。感兴趣的小伙伴可以点击下方阅读原文,查看更多X Plugin的介绍与使用方法。当然,Inside君更欢迎小伙伴前来分享MySQL 5.7 JSON功能在生产环境的使用。
历史阅读
关注Inside MySQL