产品概述
NoSQLDB 是一款完全自主研发的高性能文档型数据库系统,采用 Go 语言编写,架构参考 MongoDB,支持灵活的 JSON/BSON 文档存储。产品提供完整的 CRUD 操作、丰富的查询语言、B+树索引系统、聚合管道框架,以及 ACID 事务支持。
NoSQLDB 定位于中小型应用、微服务架构、IoT 数据采集、内容管理系统等场景,提供比传统关系型数据库更灵活的数据模型,同时保证优秀的读写性能和数据安全性。
技术架构
核心特性
📦 BSON 类型系统
支持 Double、String、Document、Array、Binary、ObjectID、Boolean、DateTime、Null、Regex、Int32、Timestamp、Int64、MinKey/MaxKey 共 14+ 种 BSON 数据类型,完整的 JSON ↔ BSON 双向转换。
🔍 丰富查询操作符
支持比较 ($eq, $ne, $gt, $gte, $lt, $lte)、逻辑 ($and, $or, $not, $nor)、数组 ($in, $nin, $all, $elemMatch, $size)、正则 ($regex)、元素 ($exists, $mod) 等 20+ 操作符。
🌳 B+树索引
完整的 B+树索引实现,支持单字段/多字段索引、唯一/非唯一索引、范围扫描、自动维护(插入/删除时同步更新索引树)。
📊 聚合管道
支持 $match、$project、$group、$sort、$limit、$skip、$unwind 等聚合阶段,可组合使用完成复杂的数据分析查询。
⚡ 更新操作符
支持 $set、$unset、$inc、$mul、$min、$max、$push、$pop、$pull、$addToSet、$rename、$currentDate 等 12+ 字段更新操作符。
🔒 ACID 事务
完整的事务支持:Begin / Commit / Abort,读写集管理,崩溃恢复,保证数据的原子性、一致性、隔离性和持久性。
💾 数据持久化
WAL 预写日志 + 数据页存储 + Checkpoint 检查点机制,确保数据零丢失,支持崩溃后自动恢复。
🛡️ 安全认证
用户认证系统,支持 admin / readwrite / read 三种角色,密码 SHA256 哈希加密存储,可控制数据库访问权限。
📈 性能监控
内置性能指标收集:QPS 统计、操作计数(Insert/Query/Update/Delete)、连接数统计,原子操作无锁设计。
⚙️ 配置管理
支持 config.ini 配置文件,可配置监听地址、端口、数据目录、WAL 目录、最大连接数等,灵活适配不同环境。
💬 REPL 客户端
交互式命令行客户端,支持数据库切换、集合管理、CRUD 操作、索引管理、事务控制、聚合查询等完整功能。
🔄 并发安全
全面的 sync.RWMutex 锁保护、原子操作计数器、连接级协程处理,确保高并发场景下的数据一致性和系统稳定性。
快速开始
1. 启动服务器
2. 连接客户端
3. 基本操作示例
产品对比
| 特性 | NoSQLDB | MongoDB |
|---|---|---|
| 数据模型 | BSON 文档 | BSON 文档 |
| 查询语言 | 类 MongoDB 操作符 | MongoDB 操作符 |
| 索引 | B+树 | B+树 / 哈希 |
| 事务 | ACID 事务 | 多文档事务 |
| 聚合管道 | 支持 | 支持 |
| 持久化 | WAL + Checkpoint | WiredTiger |
| 语言 | Go | C++ |
| 协议 | 自定义 TCP | MongoDB Wire Protocol |
| 协议兼容性 | 原生客户端 | 多语言驱动 |
| 开源协议 | MIT | SSPL |
立即下载
选择合适的版本开始使用 NoSQLDB
📦 下载服务器版本: v1.1.0 | 平台: Windows amd64
包含: nosqldb.exe (服务器) + nosqlcli.exe (REPL 客户端) + config.ini (配置文件)