首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

震惊!MySQL竟然能当作NoSQL使唤

欢迎被标题吸引进来的读者。是的,今天我想聊聊这个话题:MySQL用作NoSQL。不信?看下图:

这是怎么回事?官方称之为MySQL Document Store,即MySQL文档存储。据称是MySQL8.0的特性(还在用5.x的你是不是瞬间out了 XD),具体就是你不需要创建schema(视图,你可以认为是数据库表的结构载体)就能存储JSON集合,这本来是MongoDB这类NoSQL才能做的事情。咋样,没听过吧。以往,我们要存储文档,或者集合,都需要建表,然后将内容作为表的一个字段记录存储,没有表结构,是无法直接将内容存储到磁盘的,存储之前往往需要我们精心设计表和库的模型结构,设计不好还容易造成麻烦。

在这里,NoSQL + SQL = MySQL,这极大的拓展了MySQL的功能,同时具备关系型数据库和非关系型数据库的特征。

只是!但是!各位要失望了!这是MySQL商业版本才能干的活。好了,不要骂我了,oracle这家(流氓)公司毕竟还要MySQL捞点油水呢。

我们还是先看看它的的架构:

从图中我们可以看到,除了传统的关系型存储之外,多了一层X协议,该协议基于谷歌的Protobuf library,Protobuf library是什么?它是用来将结构化数据序列化的包,也就是去结构化,所以你知道存储的原理了吧,话都说这么白了。而Oracle将X协议用来拓展MySQL内核,从而实现在MySQL存储JSON集合数据的。(不太准确的说,我们可以视为可插拔)

在性能上也是杠杠的,不会因为是NoSQL而退步,在高可用、易于管理、热备份、安全等方面都做到了生产标准。因此那些有志于使用这个特性的公司是可以放心使用的。(当然,我这可不是在给Oracle打广告。)

可能有人要问了,企业版的MySQL有什么用呀,又不是免费的。额,我想说,我跟你想法一样,不过对公司来说,有时候就是有这种需求呀,总有想要将MySQL用在NoSQL的业务场景,这时候如果你能想到MySQL还能这么干,或许也算是一种解决方案吧。兴许,你的团队也能从中找到灵感,效仿Oracle自己定制X协议,也能实现NoSQL的功能呢?可能性太多了。如果再不济,就当涨见识了。

好了,这篇文章就介绍到这,下次再见啦。有什么问题和错误的地方,还望大家多多指正,留言就好了,谢谢你们。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190119G0A23N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券