阿里巴巴企业级 MySQL 分支 - 集成 DuckDB OLAP 引擎与原生向量搜索
经阿里巴巴生产环境大规模验证,支撑数百万数据库实例稳定运行
AliSQL 为 MySQL 带来企业级能力,将 InnoDB 可靠的 OLTP 性能与 DuckDB 极速的分析能力和原生向量搜索相结合 - 全部通过熟悉的 MySQL 接口使用。
|
DuckDB 列式引擎相比 InnoDB,分析查询性能提升 200 倍 |
内置 HNSW 算法,支持高达 16,383 维向量,满足 AI/ML 工作负载 |
使用现有的 MySQL 工具、驱动和 SQL - 零学习成本 |
| 特性 | 描述 | 状态 |
|---|---|---|
| DuckDB 存储引擎 | 列式 OLAP 引擎,支持自动压缩,专为分析场景设计 | 已发布 |
| 向量索引 (VIDX) | 原生向量存储与 ANN 搜索,基于 HNSW 算法,支持余弦和欧氏距离 | 已发布 |
| DDL 优化 | Instant DDL、并行 B+树构建、非阻塞锁机制 | 规划中 |
| RTO 优化 | 加速崩溃恢复,缩短实例启动时间 | 规划中 |
| 复制增强 | Binlog 并行刷盘、Binlog in Redo、大事务优化 | 规划中 |
# 克隆仓库
git clone https://github.com/alibaba/AliSQL.git
cd AliSQL
# 构建(release 模式)
sh build.sh -t release -d ~/alisql
# 安装
make install详细指南: 如何搭建 DuckDB 节点
# 初始化数据目录
~/alisql/bin/mysqld --initialize-insecure --datadir=~/alisql/data
# 启动服务
~/alisql/bin/mysqld --datadir=~/alisql/data-- 创建使用 DuckDB 引擎的分析表
CREATE TABLE sales_analytics (
sale_date DATE,
product_id INT,
revenue DECIMAL(10,2),
quantity INT
) ENGINE=DuckDB;
-- 执行复杂分析查询(比 InnoDB 快 200 倍!)
SELECT
DATE_FORMAT(sale_date, '%Y-%m') as month,
SUM(revenue) as total_revenue,
COUNT(*) as transactions
FROM sales_analytics
GROUP BY month
ORDER BY total_revenue DESC;-- 创建包含向量列的表
CREATE TABLE embeddings (
id INT PRIMARY KEY,
content TEXT,
embedding VECTOR(768) -- 768 维向量
) ENGINE=InnoDB;
-- 创建 HNSW 索引以加速 ANN 搜索
CREATE VECTOR INDEX idx_embedding ON embeddings(embedding);
-- 使用余弦距离查找相似项
SELECT id, content,
COSINE_DISTANCE(embedding, '[0.1, 0.2, ...]') as distance
FROM embeddings
ORDER BY distance
LIMIT 10;| 选项 | 描述 | 默认值 |
|---|---|---|
-t release|debug |
构建类型 | debug |
-d <目录> |
安装目录 | /usr/local/alisql |
-g asan|tsan |
启用内存/线程检测器 | 禁用 |
-c |
启用代码覆盖率 (gcov) | 禁用 |
前置依赖: CMake 3.x+、Python 3、GCC 7+ 或 Clang 5+
2025 Q4 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[x] DuckDB 存储引擎 [x] 向量索引 (VIDX) [x] 开源发布
2026 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ ] DDL 优化 [ ] RTO 优化 [ ] 复制增强
- Instant DDL - 快速崩溃恢复 - Binlog 并行刷盘
- 并行 B+树构建 - 最小化 RTO - Binlog in Redo
- 非阻塞锁机制 - 大事务优化
| 文档 | 描述 |
|---|---|
| DuckDB 集成指南 | DuckDB 存储引擎完整使用指南 |
| 向量索引指南 | 原生向量存储与 ANN 搜索 |
| 发布说明 | AliSQL 8.0.44 新特性 |
| 搭建 DuckDB 节点 | 快速搭建分析节点指南 |
外部资源:
AliSQL 于 2025 年 12 月正式开源,由阿里云数据库团队持续维护。
我们欢迎各种形式的贡献!
- Fork 本仓库
- 创建 功能分支 (
git checkout -b feature/amazing-feature) - 提交 你的修改 (
git commit -m 'Add amazing feature') - 推送 到分支 (
git push origin feature/amazing-feature) - 发起 Pull Request
如有 Bug 反馈或功能建议,请通过 GitHub Issues 提交。
RDSAI CLI 是新一代 AI 驱动的数据库命令行工具,让你可以用自然语言与 AliSQL 和 MySQL 数据库交互。AI 代理会帮你完成 SQL 生成、执行计划分析、诊断优化等工作。
# 安装
curl -LsSf https://raw.githubusercontent.com/aliyun/rdsai-cli/main/install.sh | sh
# 连接数据库,使用自然语言查询
rdsai --host localhost -u root -p secret -D mydb
mysql> 分析 users 表的索引使用情况
mysql> 显示过去一小时的慢查询
mysql> 为什么这个查询很慢: SELECT * FROM users WHERE name LIKE '%john%'核心功能:
- 自然语言转 SQL(支持中英文)
- AI 驱动的查询优化与诊断分析
- 按
Ctrl+E即时分析执行计划 - 多模型 LLM 支持(通义千问、OpenAI、DeepSeek、Anthropic 等)
- 自动化性能基准测试与分析报告
|
GitHub Issues Bug 反馈与功能建议 |
阿里云 RDS 托管的 DuckDB 分析型实例 |
AliSQL 采用 GPL-2.0 协议开源,与 MySQL 保持一致。
详见 LICENSE 文件。
由 阿里云数据库团队 精心打造
