【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

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

  • 2018-05-31
  • 本文字数:1353 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

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 连接器是一组驱动程序,开发人员可以基于驱动程序使用 Java、Python、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

2018-05-31 12:214326
用户头像

发布了 731 篇内容, 共 430.5 次阅读, 收获喜欢 1995 次。

关注

评论

发布
暂无评论
发现更多内容

架構實戰營 - 畢業設計

Frank Yang

架构实战营

揭秘环境管理 Noah 的技术实现

Qunar技术沙龙

测试 Dev QA 环境 资源池

在java程序中使用protobuf

程序那些事

Java protobuf 程序那些事

基于Mybatis-plus实现多租户架构

码农参上

多租户 8月日更 Mybatis-Plus

LeetCode刷题07-简单 整数翻转

ベ布小禅

8月日更

架构实战营 模块六作业

孫影

架构实战营 #架构实战营

FL Studio基本功能介绍

懒得勤快

从 FFmpeg 性能加速到端云一体媒体系统优化

阿里云视频云

开源 ffmpeg 视频处理 视频流 视频云

2021 年 8 月国产数据库排行榜:秋日胜春朝

墨天轮

数据库 TiDB oceanbase 国产数据库 达梦

架构实战营模块一作业

michael

架构实战营

前端、后端、测试、研发经理必备技能-ApiPost接口管理工具

CodeNongXiaoW

大前端 测试 后端 接口工具

拿捏!隔离级别、幻读、Gap Lock、Next-Key Lock

艾小仙

MySQL sql 面试 大前端

带你认识MRS CDL架构

华为云开发者联盟

数据库 大数据 FusionInsight MRS MRS CDL 实时同步

LeetCode题解:28. 实现 strStr(),暴力法,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

写作——开启技术成长之路

神策技术社区

程序员 写作 日志

Android SDK 之用户路径采集

神策技术社区

数据 路径规划 分析 行为数据

保护亿万数据安全,Spring有“声明式事务”绝招

华为云开发者联盟

spring 数据安全 事务管理

支持 10 亿日流量的基础设施:当 Apahce APISIX 遇上腾讯

API7.ai 技术团队

案例 API网关 APISIX Meetup 腾讯游戏

容器监控薅光了头发?这篇你再也不能错过!

观测云

json Docker 云计算 Linux 容器

原来一条select语句在MySQL是这样执行的《死磕MySQL系列 一》

咔咔

MySQL 数据库

SphereEx CEO 张亮:数据库上云是大势所趋|初心·问

SphereEx

数据库 开源

神策分析 iOS SDK 代码埋点解析 | 数据采集

神策技术社区

程序员 数据 代码 埋点

神策分析 Web JS SDK 功能介绍

神策技术社区

程序员 代码 埋点

vivo商城计价中心 - 从容应对复杂场景价格计算

vivo互联网技术

Java 架构 后端 促销系统

神策分析 Android SDK 网络模块解析

神策技术社区

程序员 代码 神策数据

图文并茂的聊聊ReentrantReadWriteLock的位运算

程序猿阿星

ReentrantReadWriteLock 位运算

书单 | 无所不能的Python,从技术到办公,总有一款适合你!

博文视点Broadview

其实TCP聪明得很!详解TCP常见的五个异常处理场景

Java 编程 架构 程序人生 架构师

protocol buffer没那么难,不信你看这篇

程序那些事

Java protobuf 程序那些事

MySQL 系列教程之(十二)扩展了解 MySQL 的存储过程,视图,触发器

若尘

MySQL 数据库 8月日更

神策 Android 全埋点插件介绍

神策技术社区

程序员 数据分析 埋点

MySQL 8支持文档存储,并带来性能和安全方面的改进_数据库_Tim Hodkinson_InfoQ精选文章