diff --git a/README.md b/README.md index edc357b..0f2a8a4 100644 --- a/README.md +++ b/README.md @@ -11,38 +11,17 @@ --- -## 🛡 v0.2.1 生产加固 +## ✨ 特性 -- 🔒 **WAL CRC 完整性校验** — 崩溃恢复时验证日志校验和,损坏记录自动跳过 -- ✅ **ColumnDef 约束激活** — `maxLength`/`min`/`max` 约束正式生效 -- 🔗 **外键 RESTRICT 修正** — 有子行时禁止删除父记录,抛出 `FOREIGN_KEY_VIOLATION` -- 🔄 **Hybrid 提交顺序修复** — 先磁盘后内存,磁盘失败自动回滚 -- 📊 **查询结果上限** — `maxRowsPerQuery` 配置(默认 0 不限制),防止 OOM -- 🐛 **debug 调试模式** — `DatabaseConfig.debug: true` 输出详细操作日志 -- 📞 **onError 回调接入** — 全局错误回调正式生效 -- 🌐 **浏览器兼容声明** — Chrome 80+ / Firefox 80+ / Safari 14+ / Edge 80+ - ---- - -## ✨ v0.2.0 AriaEngine 自研存储引擎 - -- 🚀 **AriaEngine** — 自研 LSM-Tree 页面式存储引擎,二进制格式、Buffer Pool、WAL、MVCC -- 📄 **Slotted Page 格式** — 4KB 固定页面,行级 slot 管理 -- 🌲 **LSM-Tree 索引** — 写优化,支持点查询 + 范围扫描 -- 📝 **WAL 日志** — Write-Ahead Log 保证崩溃恢复 -- 🔒 **MVCC 事务** — 快照隔离,读写不互斥 -- 💾 **Buffer Pool** — LRU 淘汰,可控内存占用 -- 🔍 **Bloom Filter** — 快速判定 key 不存在 -- 🗜️ **可选页面压缩** — LZ4 轻量压缩 - ---- - -## ✨ v0.1.14 生产加固 - -- 🔒 **IndexedDB 事务原子性** — flushToIDB 单事务包裹 clear+insert,崩溃安全 -- 🏷 **多标签页感知** — `onversionchange` 自动检测并关闭过期连接 -- 🔁 **引擎幂等 init** — 重复调用 `open()` 安全无副作用 -- 🧪 **524 测试 · 91.0% 行覆盖率** — 生产级质量保证 +- 🚀 **AriaEngine 自研存储引擎** — LSM-Tree 页面式存储,4KB Slotted Page、WAL 崩溃恢复、MVCC 快照隔离、LZ4 压缩 +- 🔒 **生产级数据安全** — WAL CRC 完整性校验、`RESTRICT` 外键约束、Hybrid 提交原子性 +- 🛡 **输入校验全覆盖** — `maxLength`/`min`/`max` 约束、类型检查、必填验证 +- 💾 **多引擎架构** — Memory / IndexedDB / OPFS / Hybrid(write-through) / Aria 五种模式 +- 📝 **完整 SQL 支持** — SELECT/JOIN/子查询/GROUP BY/HAVING/ORDER BY/LIMIT/BETWEEN/IF NOT EXISTS +- 🔗 **Query Builder API** — 链式 `.select().where().orderBy().limit().execute()` +- 🔄 **事务回滚** — Memory/IndexedDB/Hybrid/Aria 四引擎事务原子性,自动回滚 +- 🌐 **浏览器兼容** — Chrome 80+ / Firefox 80+ / Safari 14+ / Edge 80+ / Node.js 16+ +- 🧪 **526 测试 · 91.0% 覆盖率** — 27 套件,生产级质量保证 ---