您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2024 MySQL Heatwave峰会MySQL and Heatwave Summit]:MySQL 中有什么新功能 ? _ 内部部署和云 - 发现报告

MySQL 中有什么新功能 ? _ 内部部署和云

AI智能总结
查看更多
MySQL 中有什么新功能 ? _ 内部部署和云

Nipun AgarwalMySQL & HeatWave 高级副总裁 第一次 LTS 发布 ! 第一个 LTS 版本 - 4 月 30 日 - 8.4. 0 LTS 创新版本将从 9.0. 0 9.7. 0 目标 LTS版本开始 - 在 2 年内 重点领域 •更好的性能•成本较低•开发人员工作效率•安全•更高的可用性 线程池的改进 高度可扩展的线程处理模型 消除双缓冲区写入 原子 • 带原子 I / O ,写入数据量类似于dblwr = OFF (~ half)在磁盘上 • 带原子 I / O ,time实验表明 冲洗类似于dblwr = OFF 消除双缓冲区写入写入密集型工作负载 MySQL HeatWave 中的批量存储支持 • 并行排序与合并及索引子树的并行构建 • 顺序写入已排序的数据至磁盘以消除随机磁盘I/O • 内部阶段的流水线处理,which overlaps 计算与磁盘I/O 散装性能快 10 倍与 Amazon Aurora 相比 , 使用更少的内存 8.4 中的许多性能修复 8.4 中的许多性能修复 为什么是基于 ML 的自动化 ? ML 模型具有适应性•不断变化的环境 •新服务器版本 可以预测改进•帮助计划推荐 适用于单个工作负载•没有猜测的工作•可解释 Results 即使在经过调整的基准上 , 吞吐量也可以达到标准值或更好 ••在某些情况下 , Autopilot 建议减少索引以节省存储空间Autopilot 建议使用性能达到标准或优于手动调整基准的索引 数据库中的存储过程 处理数据密集型应用程序功能• 最大限度地减少数据移动 • 降低成本 • 提高安全性 •→简化复杂的 ETLELT MySQL 存储程序 - SQL 与 JavaScript 高级优化 Graal 编译器提供提前编译和多语言执行 选择MySQL 内部的 JavaScript在前提下 , OTN , MySQL HeatWave • 可在任何SQL存储函数可以使用的地点使用• 支持表达式、投影、WHERE子句、GROUP-BY、JOIN、ORDER BY、HAVING等。 选择col1, col2,gcd _ js (col1, col2)FROMmy _ tableWHEREgcd _ js (col1, col2)> 1ORDER BYgcd _ js (col1, col2);创建表gcd _ table作为选择gcd _ js (col1, col2)FROMmy _ table; DML 、 DDL 、视图 • 支持内部 DML(INSERT , UPDATE , DELETE ,...) • DDL 包括 CREATE TABLE AS SELECT • 支持内部视图 创建表gcd _ table作为选择gcd _ js (col1, col2)FROMmy _ table; 互操作性 • 在现有 SQL 存储函数或过程中调用 JavaScript 和 SQL函数以及程序 MySQL - JavaScript服务器扩展为支持从 JavaScript 的 SQL 标注功能 JavaScript 内部的 SQL 创建程序gen _ random _ age(IN row _ countINT) LANGUAGE JAVASCRIPT AS $$$letinsertStatement =会话.准备( "插入 my _ table(年龄) 值(?)");for(let j = 0; j <row _ count; j++) {letrandom _ age =Math.桁架(Math.随机() * 100); insertStatement 。bind(random _ age) 。执行(); }$$ 语句类型 • 简单的 SQL 语句 • 使用绑定参数准备好的语句 数据访问 API • 使用 XDevAPI 在 JavaScript 内部执行 SQL • 无缝 MySQL ↔ JavaScript 类型转换以获取查询结果 = 0,= 0;.("");()) {++;}=/;$$创建程序平均年龄(OUTavg _ ageFLOAT) 语言JavaScript AS $$letage _ sum计数letselectStatement =会话sql从 my _ table 选择年龄letresult = selectStatement. execute(), row = null;while(row = result. fetchOneage _ sum+= row[0];计数avg _ ageage _ sum计数 会话状态 • 在JavaScript内部继续进行交易• 在JavaScript内部访问所有会话状态,包括会话变量和临时表 SQL - 标注OLTP 噪声测试 对 MySQL HeatWave 的 REST 访问 MySQL Shell for VS Code 增强以支持新的 HeatWave 功能 开放遥测和 MySQL 自动识别和诊断问题 相关遥测数据( 跟踪、度量、日志)跨服务 / 堆栈馈入 O & M 后端 开放遥测 (Otel) • 开放标准的数据遥测数据 • 云原生计算基金会(CNCF)项目 • Oracle OCI 是 CNCF 白金会员 • 提供用于收集和导出遥测的技术 • API、库、代理和仪器化 • 非常流行 – 活跃度排名第二的项目 MySQL 和开放遥测 • 包括Otel库以发出Traces、Metrics和Logs• Traces包括Span(工作上下文单位)• Metrics – 可选择超过400种指标(计数器和度量)• Logs – 正在为9.0版本开发中 数据库管理服务监控、诊断和预测性见解 •基于按需订阅的云服务•本地和云 (MySQL Heatwave) 数据库的统一队列监控和管理 ••••机队摘要页可视化驱动的负载和性能分析预测不断变化的工作负载的需求ML 驱动的 SQL 见解 安全性 : 使用 MySQL HeatWave 自带证书 • MySQL HeatWave 允许用户指向 OCI 证书服务,以便用户可以创建、配置、管理、部署并自动轮换 PKI 证书。 •OCI 证书服务• 生成和存储私钥FIPS 3 级 HSM. • 消除了购买、上传和续订证书的易出错的手动过程。 • 提供私有证书颁发机构选项,让客户自行管理证书链。 • 实现自动证书部署和续订。 安全性 - 开放 ID 多云、本地、混合身份验证 好处 使用 OpenID Connect 标准添加对身份验证的支持 •支持单点登录 •基于令牌•安全 - 与 MFA 、 Bioauthn 、... 一起使用 •配置简单•广泛的用例 什么是 OpenID Connect •行业标准•用于验证用户身份的安全协议。 •云到云•云到 OnPrem•从 OnPrem 到 Cloud ••使用 Oauth 2.0(IETF RFC 6749 和 6750)以云应用为中心 •许多提供者 , 支持者 •Oracle Access Management , OCI 标识•Oracle 融合•微软 ADFS, Ping, Okta,... MySQL HeatWave 中 OLTP 工作负载的高可用性改进 • 停机时间的改进 : 计划升级 :~60s → ~15s计划切换:~60s → ~7s•自动替换无法创建的实例•在线更改 HA 群集的形状和配置 更快的 Binlog 上传 PITR • 在大型事务 / binlog 期间 , 性能缓慢会增加漏洞窗口• 减少计算瓶颈 , 不会遇到对象存储文件大小限制• 设计了多部分上传 , 其中 binlog 拆分为多个文件并通过多个线程上传 更快的 Binlog 上传 PITR : 高达 5 倍更快 • 根据总 binlog 大小 , 每个对象的大小范围从 100 MB 到 25 GB• 最多 10 个线程 , 用于将较小的对象并行上传到对象存储桶• 不限于 50GB binlog 上传 快 5 倍 , 漏洞窗口更小 时间点恢复改进 2改进了禁用 PITR 性能• 34min 至 3min • 不阻塞其他 DB 系统操作 MySQL HeatWave - 消除了对多种服务的需求 Lakehouse , 实时分析 , 机器学习 , 一个数据库服务中的事务处理