社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

MySQL现在已经正式支持文档存储了

聊聊架构 • 8 年前 • 816 次点击  

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”)规范的一部分。它们是带有名称的临时结果集,存在于单个语句的作用域内,可以在语句的其他部分进行引用。还增加了一些窗口函数,用于降低代码复杂度。


如果,Google 早已解决不了你的问题。

如果,你还想知道 Apple、Facebook、IBM、阿里等国内外名企的核心架构设计。

来,我们在深圳准备了 ArchSummit 全球架构师峰会,想和你分享:

  • 微信百亿消息背后的万级机器是怎么做 AI 调度的

  • 滴滴三核心引擎之一的地图,如何计算路径规划和道路匹配

  • 微博如何做万亿级关系的实时协同推荐

  • 微众区块链首席架构师的两个具体案例实操

  • 阿里菜鸟全球跨域 RPC 架构设计

  • 前特斯拉视觉深度学习负责人带来的核心技术解析

  • 微服务楷模 Netflix 在 FaaS 上的最新实践


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/gv9PU703q0
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/13480