第一章 产品定位与设计理念
1.1 产品定位
SXDB数据引擎定位为“极小型关系式数据库”,专注于资源受限的边缘计算、嵌入式系统和轻量级应用场景。与传统重型数据库(MySQL、PostgreSQL)的“服务器-客户端”架构不同,SXDB采用单进程集成架构,将存储引擎、服务层、管理界面融为一体。
1.2 设计原则
原则
说明
体现
极简
单文件部署,零依赖
单个可执行文件即可运行,无需安装任何组件
高效
以最小的资源消耗实现最大吞吐
WAL模式+内存映射+线程池并发
可靠
数据完整性和服务可用性
WAL日志+Watchdog自愈+ACID事务
开放
多语言SDK、多通道接入
TCP/HTTP双通道,C++/Java/Python SDK
1.3 技术栈概览
整个引擎采用C++17编写,核心存储层基于SQLite3构建。通信层采用自定义二进制协议,Web层基于轻量级HTTPLib库。所有组件均静态编连,产生单个可执行文件。
层次
技术
说明
存储引擎
SQLite3 + 自定义连接管理器
嵌入式SQL引擎,字节级数据完整性
并发模型
ThreadPool + shared_mutex
读写分离,多线程并发查询
通信协议
自定义TCP二进制协议
4字节长度头 + JSON消息体
Web服务
cpp-httplib
轻量HTTP服务器,内嵌前端
认证授权
RBAC + JWT Token
用户-角色-权限三级模型
监控指标
Prometheus兼容
查询计数、延迟直方图、资源利用率