手机版
你好,游客 登录 注册
背景:
阅读新闻

MySQL 8支持文档存储,并带来性能和安全方面的改进

[日期:2018-06-03] 来源:infoq.com  作者:Tim Hodkinson ,译者 无明 [字体: ]

Oracle已经发布了他们的开源关系数据库管理系统MySQL 8。这个版本引入了许多改进,最受关注的可能是基于文档的存储,开发人员可以在同一个数据库中使用传统关系数据和“NoSQL”文档数据。该版本还提升了性能,增强了安全性,并改变了默认字符集以促进“移动优先”开发。

MySQL在MySQL 5.7中引入了对JSON的支持,现在在8.0里带来了MySQL文档存储,开发人员可以将无模式JSON文档集合与关系表放在一起使用。MySQL文档存储由一系列技术组成,一个新的客户端协议、X协议以及让MySQL服务器能够使用X协议的X插件。新的X DevAPI是一组异步API,用于在X协议上执行CRUD和SQL操作。MySQL连接器是一组驱动程序,开发人员可以基于驱动程序使用JavaPython、Node、.Net和C ++等主流开发语言来调用API和文档存储。文档存储中还有一个MySQL Shell,提供了交互式的Javascript、Python或SQL接口来支持MySQL服务器的开发和管理。

Geir Høydalsvik自2008年以来一直在MySQL数据库团队中工作,他告诉InfoQ:“文档存储和关系数据库的结合是一个关键特性。用户现在可以拥有一个坚实的数据库系统,可以同时服务于SQL和NoSQL”。

MySQL并不是开源领域中第一个支持关系数据和基于文档数据的数据库,比如PostgreSQL已经推出该特性一段时间了。

与之前的版本相比,MySQL 8.0还带来了显着的性能改进。发行说明指出,MySQL 8.0速度是5.7的两倍。基准测试数据显示,在以每秒查询数量作为衡量手段的情况下,随着用户数量的增加,性能出现差异。基准测试数据还显示,MySQL 8实现了每秒高达180万次查询的新纪录。数据字典元数据的整合提高了可靠性,这些元数据之前以多种文件格式进行存储,并存储在多个位置,现在则存储在一组SQL表中,并使用默认的InnoDB存储引擎。

MySQL 8带来了多项安全性改进,其中之一引入了SQL角色。与大多数应用程序一样,MySQL 8中的角色代表一个指定的授权集合。现在可以在单个会话中创建、授予、删除和应用MySQL角色。数据库还提供了一个新的SQL函数ROLES_GRAPHML(),它返回一个代表角色子图的graphml文档。另一个安全增强是对密码重用的限制。MySQL已经支持密码过期策略,该策略强制要求用户在一段时间之后更改密码,而新版本可以控制用户设置的密码是否有效。这限制了密码重用,从而强制用户在每次更改密码时提供新的增强密码。

默认字符集已从latin-1改为utf8mb4。在移动世界中,emojis和各种各样的字符集需要共存,Unicode/UTF-8编码已经变得无处不在,所以做出了这一变化。由于性能原因,以前的utf8mb3已被弃用。

移动应用的特征之一是使用用户的位置来提供内容,MySQL 8.0基于现有的GIS支持,引入了地理和空间参考系统(SRS)。

8.0版还带来了一些SQL增强功能。其中之一是引入公共表表达式(CTE),这是ANSI SQL 99(又名“SQL 3”)规范的一部分。它们是带有名称的临时结果集,存在于单个语句的作用域内,可以在语句的其他部分进行引用。还增加了一些窗口函数,用于降低代码复杂度。

发布白皮书中可以找到有关MySQL 8的全部细节。

查看英文原文MySQL Version 8 Adds Document Store, Performance and Security Improvements

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-06/152681.htm

linux
相关资讯       MySQL 8 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款