路线图

已经实现的能力,
以及尚未实现的部分。

实现顺序为垂直推进。已完成 62 项。编号引擎序列止于 73;其后的协调器、列存与 schema 演进工作亦已完成。可串行化隔离、并发写者以及 MCP 仍属规划或暂缓内容。

0

Rust 基础

稳定类型、Schema、解析器、HIR 与关系 IR。

已完成
1

存储基础

4 KiB 槽页、有界缓冲池、堆插入 / 扫描与重开。

已完成
2A

事务 + WAL 核心

事务生命周期、版本化 WAL、LSN / pageLSN 与提交持久化。

已完成
2B

崩溃恢复

启动分析、重做历史、逆序 undo 与崩溃尾处理。

已完成
2B.1

单写者 + 运行时回滚

惰性写者所有权、可重试 commit / rollback 与 before-image undo。

已完成
2C

检查点 + WAL 生命周期

静止检查点、单调逻辑 LSN 与有界 WAL 代际回收。

已完成
3A

类型化表达式 + NULL

上下文 NULL 类型、三值逻辑与显式 IS NULL。

已完成
3B

类型化 DML

INSERT / UPDATE / DELETE、稳定 RowId 与受影响行结果。

已完成
3C

INNER JOIN

限定列、别名、自连接与 nested-loop 执行。

已完成
3C.5

Schema 指纹

规范表编码、SHA-256 指纹,以及打开时的身份校验。

已完成
integrity

页与 WAL 完整性

Page v4/v5 CRC32C、WAL v4 校验和与解码 fuzz。

已完成
3D

聚合 + 排序

ORDER BY、全局聚合与内存 GROUP BY。

已完成
4A

版本化 RowId

Page v5 slot generation、墓碑复用与过期定位符检测。

已完成
4B

堆复用 + 安全搬迁

确定性 first-fit,以及返回当前 RowId 的 UPDATE 搬迁。

已完成
4C1

持久 B+Tree

事务性创建 / 插入 / 点查,以及混合页与分裂恢复。

已完成
4C2

B+Tree 删除 / 再平衡

精确 (key, RowId) 删除、仅合并再平衡与根收缩。

已完成
4D1

索引目录与回填

持久 IndexCatalog,以及事务性 create_index 回填。

已完成
4D2

堆 / 索引 DML 维护

已注册索引与堆及 SQL DML 保持一致。

已完成
4E

点查 IndexScan

等值与 IS NULL 谓词可选择点查 IndexScan。

已完成
4F

ANALYZE 与代价

显式 ANALYZE 快照,以及确定性的点访问路径代价。

已完成
5A

Protocol v1

语言中立的二进制分帧。已冻结;当前服务器拒绝 v1 帧。

已完成
5B

netbadbd 服务器

清单启动、TCP 会话与专用数据库工作线程。

已完成
5C

TLS 与授权

双向 TLS、证书主体与按表操作范围。

已完成
6A

Go 协议客户端

独立 Go Protocol v2 客户端与生成的类型化绑定。

已完成
6C

Rust 远程 SDK

基于 Protocol v2 的同步 netbadb-sdk::remote 客户端。

已完成
6D

检查 CLI

离线目录与语句检查;当前机器契约为 Inspection JSON v7。

已完成
6E1

SQL 诊断 LSP

基于 SDK Schema Spec v1 或 v2 的只读语言服务器。

已完成
7A

性能基线

可复现的热缓存基准,不改变引擎行为。

已完成
7B

范围 IndexScan

带代价的有界 Int64/UInt64 范围扫描。

已完成
7C

谓词优先 NestedLoopJoin

被拒绝的连接候选不再分配合并行。

已完成
7D

带代价的 HashJoin

经过分析的 Scan × Scan INNER JOIN 可选择简单等值 HashJoin。

已完成
7E

一次校验的堆扫描

顺序扫描中每个不可变堆页只做一次完整校验。

已完成
7F

连接谓词预绑定

NLJ 与 HashJoin 在候选循环前一次性绑定列位置。

已完成
7G

借用式连接求值

连接谓词借用列与字面量标量,仅计算结果为自有值。

已完成
7H

不等式边界拒绝

NestedLoopJoin 跳过不可能匹配任何右行的左探测。

已完成
7I

自适应不等式扫描

精确候选计数可替代完整 NestedLoopJoin 内层循环。

已完成
7J

按需列解码

查询计划仅解码所需堆列;DML 仍使用完整行。

已完成
7K

移动感知投影

恒等与唯一投影移动已有值,而不是克隆。

已完成
7L

直接 COUNT(column) 扫描

单独的全局 COUNT(column) 在 SeqScan 上统计存在性,不物化行。

已完成
7M

直接多 COUNT 扫描

一次精确堆扫描可在多个 COUNT 输出间共享存活行计数。

已完成
7N-7V

Filter 与 COUNT 流式执行

借用式 Filter 求值、流式 SeqScan/Filter/Project,以及 COUNT 特化路径。

已完成
51

多存储原子提交

WAL Prepare 与独立协调日志,用于两个及以上本地写存储。

已完成
52

范围分区

PartitionCatalog v1 范围分区,支持精确裁剪与原子行迁移。

已完成
53

LSM 存储

同步 LSM 表存储,含 MVCC、SSTable、flush 与分层 compaction。

已完成
55

批执行

至多 256 行的批处理,覆盖 SeqScan、Filter、Project、Limit、Aggregate 与 HashJoin 探测。

已完成
isolation

读已提交与可重复读

显式隔离句柄;隐式语句使用读已提交。不提供可串行化。

已完成
72

索引嵌套循环连接

经过分析的 Scan × Scan 等值 INNER JOIN 可对右侧有序索引做点探测。

已完成
73

IndexJoin 代价校准

堆点探测代价与 managed_page_count 顺序扫描比较保持一致。

已完成
R17

运行时 schema catalog

Database::open_catalog 无需外部 TableDef 即可重建完整 schema。

已完成
R19

SQL CREATE TABLE

在原生 SQL 上提供事务性 Heap CREATE TABLE。

已完成
R21

SQL DROP TABLE

原生 SQL 前端支持精确预备的 DROP TABLE name。

已完成
R7

SQL CREATE / DROP INDEX

单列非唯一 Heap BTree 的 CREATE INDEX 与 DROP INDEX。

已完成
PTv2

物理类型 v2

定宽整数、Float32/Float64 与 Bytes;不做隐式数值拓宽。

已完成
5A2

Protocol v2

当前原生线协议。服务器与 Rust/Go 客户端仅使用 v2。

已完成
R26

SQL ALTER TABLE

Heap 上的改名、可空 ADD、受限 DROP 与 SET/DROP NOT NULL,覆盖原生 SQL。

已完成
3A-vis

全局快照可见性

无间隙 DatabaseCommitSeq 与已发布的 Heap/LSM 可见性向量。可重复读固定首次向量。

已完成
3B-3F

协调器流水线与组提交

同步流水线、日志压缩,以及带批 Prepare/Commit/Change Stream 屏障的显式组提交。

已完成
Col

派生列存投影

可选 ColumnarScan、变更流、Base+Delta、compaction、惰性 I/O 与调用方驱动的维护。Heap 与 LSM 仍为权威存储。

已完成
Adapt

自适应运维

由调用方驱动的检查与单步维护。没有后台调度器或定时器。

已完成
M11

部署清单 v11

当前 netbadbd 启动契约。清单 v1–v10 均被拒绝。

已完成
NBOP7

NBOP v7 运维平面

本地 Unix 域运维协议,用于状态、自适应控制与显式物理设计批准。

已完成
PG-rm

移除 PostgreSQL 协议

已删除 netbadb-pgwire 与 netbadbd --postgres。Native Protocol v2 是唯一的数据库网络前端。

已完成
next

可串行化隔离

可串行化隔离、并发写者与更广的连接枚举仍属后续工作。

下一步
6E2

MCP 适配器

暂缓:官方 MCP SDK 目前超过 Rust 1.85 MSRV。

后续
7+

后续优化

通用 ALTER COLUMN TYPE、单侧 / Text 范围代价,以及更广的 HashJoin 适用范围。

后续

当前版本不包含以下能力

可串行化隔离、并发写者与跨进程文件锁

PRIMARY KEY / UNIQUE / FK 约束、IF EXISTS,以及仅索引扫描

通用 ALTER COLUMN TYPE、LSM/分区 DDL 组合,以及任意 DML 之后的 ALTER

完整 SQL:外连接、子查询、HAVING、DISTINCT、窗口函数

外部排序落盘、PostgreSQL 协议兼容,以及完整 information_schema

MCP 适配器(受 MSRV 限制暂缓)、SQL EXPLAIN、网络 CDC,以及磁盘格式迁移