返回

文章详情

BriskDB

Hacker News2026年8月15日 17:56

SQLite 文件。一个分片数据库。BriskDB 将普通的 SQLite 文件转变为一个具有并行写入、PostgreSQL 兼容性、HTTP 访问和嵌入式 Rust/Python API 的数据库。它保留了 SQLite 已经验证的存储引擎和工具;BriskDB 添加了路由层、分片安全 ID、跨分片索引、协议和操作护栏。 重要部分的含义:并行 SQLite 写入。独立的分片文件具有独立的 WAL 写入锁。使用现有客户端,PostgreSQL 和 HTTP 今天就可以使用;MongoDB 和 MySQL 是下一个目标。嵌入或运行服务,同样的 Rust 引擎为二进制、Python wheel 和 Rust crate 提供动力。保持可检查的文件,每个数据分片仍然是一个普通的 SQLite 数据库——没有 SQLite 分支。无需编译器即可尝试 · 下载 Alpha 版本 · 打开数据浏览器 · 关注 MongoDB 和 MySQL 重要提示:BriskDB 是一个 Alpha 版本,不是生产就绪的数据库服务。边界是明确的,并且即使结果不理想,测量结果也会被公布。 开发人员可能关心的原因:没有 SQLite 分支。每个分片都是一个普通的 SQLite WAL 数据库,正常工具可以检查。没有中央写锁。对不同分片的写入使用不同的 WAL 并可以并行进行。每行没有中央 ID 写入。原生范围和高/低分配提供跨分片和进程无冲突的生成 ID。安全的跨分片修剪。全局唯一性是权威的;异步索引用验证、水印、布隆过滤器和最小/最大摘要,所以优化不能默默隐藏一行。一个引擎,无处不在。PostgreSQL、HTTP、Rust 和 Python 共享路由、限制、取消、错误和存储行为。操作是可见的。/health、/metrics、管理 JSON 和 Rust 状态报告暴露延迟、修复、重建、竞争和出站压力。一个引擎,多种方式。 流程图:客户 WEB[浏览器 + HTTP] PG[PostgreSQL 客户端] MONGO[MongoDB 客户端 · 计划中] MYSQL[MySQL 客户端 · 计划中] RUST[Rust 嵌入] PY[Python 嵌入] 结束 WEB --> ENGINE PG --> ENGINE MONGO -.-> ENGINE MYSQL -.-> ENGINE RUST --> ENGINE PY --> ENGINE ENGINE[协议中立的 Rust 引擎] --> ROUTER[4,096 虚拟桶] ROUTER --> S0[(SQLite WAL · 分片 0)] ROUTER --> S1[(SQLite WAL · 分片 1)] ROUTER --> S2[(SQLite WAL · 分片 2)] ROUTER --> SN[(SQLite WAL · 分片 N)] 加载协议适配器不拥有数据库语义。路由、限制、取消、值、会话和执行都在共享的 Rust 引擎中,留有更多协议和存储适配器的空间。 浏览整个逻辑数据库 BriskDB 在 /admin 提供响应式、只读的数据浏览器。它使用与其他客户端相同的有界 HTTP 引擎路径,将分片行组合成一个逻辑视图,仅一次读取全局表,并保留大型整数值。 对于当前本地 Alpha: http://127.0.0.1:7654/admin 用户名:admin 密码:admin 临时凭据是开发便利,而不是安全边界,这就是为什么服务器当前拒绝非环回 HTTP 地址的原因。 不寻常的部分:分片安全生成的 ID BriskDB 为分片表提供了两个生成 ID 的设计:native_range_v1 为每个分片提供一个不重叠的正 64 位范围。SQLite 自己的 INTEGER PRIMARY KEY AUTOINCREMENT 在本地执行实际分配,不需要对插入的每一行进行中央写入。hilo_v1 持久性租赁 4,096 个 ID 的块,然后在内存中分配并哈希路由每个 ID。崩溃可能会留下间隙,但 ID 从不重复使用。两项政策在清单中进行了版本控制。生成密钥执行仍处于实验阶段并需要选择;确切的合同在生成密钥中。 当前有效的功能: Alpha 状态持久虚拟桶路由独立 SQLite WAL 文件 上下文 路由和有界分散/聚合读取 正在工作 HTTP 查询/写入 API 和管理数据浏览器 正在工作,仅限环回 PostgreSQL 线协议 TLS/SCRAM、背压行流、SQLite 中断取消、文本/二进制 CRUD、真实的单分片事务、以及实时的 psql/tokio-postgres/psycopg/SQLAlchemy 矩阵 从标准 SQLite 数据库的离线导入 正在工作 原生范围和高/低生成 ID 实验性、可选择 跨分片索引和全局值租赁 实验/可选择:正确性、恢复和分片修剪通过;当前延迟/写入开销在发布门中进行了记录 全局索引健康和 Prometheus 指标 /health 、 /v1/admin/global-indexes 、 /metrics ,以及 Rust 操作报告 Ubuntu/macOS x86-64 和 ARM64 发布工件 发布 Debian 包和加固的 systemd 服务 发布 Rust 库入口点和可选附加监听器 正在工作 同主机服务和嵌入进程共享一个准备好的根 正在本地文件系统上工作 原生 MongoDB 线协议与 TinyMongo 同步 计划中 MySQL 线协议 计划中 原生 Python 扩展 同步/异步 API 正在工作;标记发布构建审核的 macOS/Linux ARM/x86 wheels 无服务器生命周期

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡