八种数据模型,一个引擎,一套 SQL —— SonnetDB 3.0.0 以全能多模型架构,重新定义"一个数据库能做什么"
IoTSharp 团队正式发布 SonnetDB 3.0.0。它把时序、关系表、键值、JSON 文档、全文检索、向量检索、对象存储和消息队列——八类通常需要八个独立系统才能覆盖的数据能力——统一进同一个引擎、同一套 SQL 与 API。一个 SonnetDB,就是一套完整的数据底座。
八种数据模型,共享同一套语义
SonnetDB 的核心价值不是"功能多",而是统一:所有模型共享同一套查询语言、同一套权限体系、同一份持久化与备份恢复机制。
|
数据模型
|
一个引擎内直接提供
|
|
时序
|
指标采集、时间窗口聚合、压缩、Retention
|
|
关系表
|
主键、索引、JOIN、事务、外键
|
|
键值 / 缓存
|
TTL、前缀扫描、原子操作
|
|
JSON 文档
|
文档集合、JSON path 查询、文档索引
|
|
全文检索
|
BM25 排序、多语言分词
|
|
向量检索
|
HNSW 近邻索引 + 精确回退、Hybrid Search
|
|
对象存储
|
S3 兼容 bucket、分片上传、Range 读取、Presigned URL
|
|
消息队列
|
Topic、消费者组、推送 / ack、重启 replay
|
过去要拼装、运维并同步一整套异构组件才能满足的需求——一套时序库、一套缓存、一套搜索引擎、一套对象存储、一套消息中间件——现在一个进程、一条 SQL、一个管理后台全部承接。这不是把多个系统打包在一起,而是在引擎层真正打通。
全模型二进制帧协议,为高吞吐场景而生
3.0 最重要的工程突破,是在 HTTP/2 之上落地一套覆盖全部七个数据面服务(消息队列、时序、SQL、向量、KV、对象、文档)的通用二进制帧协议。八种模型共享同一条高吞吐通道:时序批量写以列式紧凑二进制直传,SQL 大结果集改为流式列式分块回传、无需全量物化即可保持内存占用近乎恒定,向量检索的查询向量以原生 f32 二进制承载。REST 接口完整保留作兼容,客户端可按需在帧协议与 REST 之间自由切换。同时内建MQTT Broker 和 MQTT Client 确保数据上传更灵活。
开箱即用
-
两种形态:嵌入进程内直接使用,或部署为独立服务,SQL / API 语义完全一致
-
广泛接入:ADO.NET、EF Core、CLI,以及 C / Go / Rust / Java / Python 连接器
-
内置管理:Web Admin 后台、SQL 工作台、监控面板,一条 Docker 命令即可启动
docker run --rm -p 5080:5080 -v ./sonnetdb-data:/data iotsharp/sonnetdb:latest
坦诚的边界
SonnetDB 当前是单机数据引擎,尚未内置复制、高可用或分片集群;多模型是能力组合,而非在每一项上都超越专用产品——它的价值在于用一个可靠、够快、够用的组件,把绝大多数常见数据需求一次覆盖。
关于 SonnetDB
SonnetDB 是一款开源的多模型数据引擎,以 MIT 协议开放。它把八种通常分散在不同系统中的数据能力统一到单一引擎,用一套 SQL、一套 API 和一个管理后台,让"一个数据库覆盖全部常见数据需求"成为现实。
项目地址: