跳转到主要内容

MySQL / InnoDB 内核

AliSQL 8.0.44-2 以 MySQL 8.0.44 Server 和 InnoDB 为基础,并在 8.0.44-1 的 DuckDB HTAP 首发之上加入 Vector Index、Native Flashback 与两种 Binlog 优化。

一个 SQL 入口,两条工作负载路径

应用与 MySQL 客户端/驱动

MySQL 协议 + SQL 层

认证 · 优化器 · Binlog

┌───────┴────────┐
│ │
InnoDB DuckDB
事务、行存储、 列式扫描、
向量索引 连接、聚合
模块用途数据组织AliSQL 扩展
MySQL / InnoDBOLTP 和事务数据行存储与 B+Tree 索引Vector Index、历史查询、Binlog 提交优化
DuckDBOLAP 与归档查询列式存储与向量化执行SQL 转换、表转换、复制、故障恢复和资源管理

应用继续使用 MySQL 协议和 SQL 入口,但两个引擎并不共享全部 SQL 与存储语义。上线前仍需验证所用功能、数据类型、DDL、复制和故障恢复。

AliSQL 8.0.44-2 功能

功能实现方式8.0.44-2 默认值主要限制
Native Vector SearchHNSW 图持久化在 InnoDB 辅助表中vidx_disabled=ON仅 InnoDB;索引操作要求 READ COMMITTED
Native Flashback根据快照历史和保留 Undo 重建 InnoDB 历史读视图快照任务 OFF仅支持 InnoDB 基础表的历史 SELECT;不能替代备份
Persist Binlog Into Redo V2符合条件的 Binlog 事件随 Redo 持久化,再由后台线程写入 BinlogOFF需要满足严格的事务和两阶段提交(2PC)条件;否则使用标准 Binlog Group Commit
Binlog Cache Free Flush已完成的大事务缓存可以直接成为下一个 Binlog 文件,避免再次复制大量数据OFF当前开源 DuckDB 构建会使用标准 Binlog Group Commit
DuckDB Storage Engine通过 MySQL Storage Engine API 集成 DuckDBduckdb_mode=NONE用于 OLAP;不保证完整的 MySQL SQL 与存储语义

使用限制

每项功能都有独立的配置和限制:

  • Native Vector Search 将基础行和图节点纳入 InnoDB 事务,但当前要求 READ COMMITTED,同一向量表的并发写入会串行执行。
  • Flashback 依赖快照生成和 Undo 保留。只开启查询开关并不会自动产生可恢复的历史。
  • Binlog in Redo 优化符合条件的较小事务缓存;检查失败时按事务回退。
  • Free Flush 面向溢出的大事务缓存,启用条件与 Binlog in Redo 不同。
  • DuckDB 使用自己的表存储和分析副本;延迟敏感的事务写入应保留在 InnoDB 上。

进一步阅读

  • DuckDB 分析 — SQL 转换、列式执行、分析副本和使用限制。
  • Native Vector Search — HNSW 持久化、缓存层、SQL、参数和并发。
  • Native Flashback — 快照生成、Undo 保留、历史查询和使用限制。
  • Binlog 优化 — Binlog in Redo 和 Free Flush 如何处理符合条件的提交,以及何时回退。
  • 快速开始 — 构建源码并分别验证各项功能。
开源版本与托管服务属于不同运行环境

阿里云 RDS MySQL 提供部分 AliSQL 功能,但产品版本、拓扑、参数名称、默认值和支持策略可能不同。自建源码版本请使用本站和仓库 Wiki;RDS 实例请使用 RDS 产品文档。

参考来源