巨杉数据库SequoiaDB概述
SequoiaDB 是一款国产分布式数据库,定位为:
- 企业级分布式 NoSQL 数据库
- 同时支持 结构化 + 非结构化数据
- 面向 PB 级数据存储与高并发访问
其设计目标类似于:
- MongoDB(文档模型)
- Hadoop(大数据生态)
- NewSQL(分布式事务能力)
但 SequoiaDB 的核心特点是:
👉 融合数据库 + 大数据平台能力(HTAP倾向)
1.核心定位
| 维度 | 定位 |
|---|---|
| 数据模型 | 文档型(JSON/BSON) |
| 架构 | Shared-Nothing 分布式 |
| 扩展方式 | 水平扩展(Scale-Out) |
| 应用场景 | OLTP + OLAP 混合 |
| 数据规模 | TB → PB |
| 接口兼容 | 类 MongoDB API |
2.整体架构设计
2.1 架构组件拆解
SequoiaDB 采用典型的分布式分层架构:
graph TD
A[Client / Driver] --> B[Coord 节点]
B --> C[Catalog 节点]
B --> D[Data 节点]
C --> D
D --> E[数据分片 Shard]
2.2 核心节点角色
1)Coord(协调节点)
类似 Proxy / Router
功能:
- SQL/查询解析
- 路由请求到对应 Data 节点
- 聚合结果
👉 类比:MongoDB mongos
2)Catalog(元数据节点)
存储:
- 集群拓扑
- 分片信息
- 表结构
👉 类比:ZooKeeper / MongoDB Config Server
3)Data(数据节点)
真正存储数据
支持:
- 副本集(高可用)
- 分片(水平扩展)
2.3 数据分布模型
支持:
- Hash 分片
- Range 分片
自动数据均衡(Rebalance)
graph LR
A[Collection] --> B[Shard1]
A --> C[Shard2]
A --> D[Shard3]
B --> B1[ReplicaSet]
C --> C1[ReplicaSet]
D --> D1[ReplicaSet]
3.与主流数据库对比
3.1 vs MongoDB
| 维度 | SequoiaDB | MongoDB |
|---|---|---|
| 架构 | 原生分布式 | 分片扩展 |
| 事务 | 强事务(跨节点) | 后期支持 |
| 大数据集成 | 强 | 弱 |
| SQL支持 | 有(间接) | 基本无 |
3.2 vs MySQL(分库分表)
| 维度 | SequoiaDB | MySQL |
|---|---|---|
| 扩展 | 原生分布式 | 手动分库 |
| 运维复杂度 | 中 | 高 |
| 数据规模 | PB级 | TB级 |
| 事务 | 分布式事务 | 单机事务 |
3.3 vs Hadoop/HBase
| 维度 | SequoiaDB | HBase |
|---|---|---|
| 实时性 | 高 | 中 |
| 事务 | 支持 | 不支持 |
| SQL | 支持(生态) | 依赖Phoenix |
4.优缺点分析
4.1 优势
- 原生分布式架构(不是外挂分片)
- 支持 HTAP(OLTP + OLAP)
- 强事务能力
- 国产可控(适合信创)
4.2 劣势
- 生态不如 MongoDB 成熟
- 社区资源相对较少
- 运维体系需要专门学习
- SQL 能力不如传统关系型数据库
5.总结
SequoiaDB 的核心本质:
一个融合 MongoDB + Hadoop + 分布式事务能力的企业级分布式数据库
如果从架构本质看:
1 | SequoiaDB = 分布式存储层 + 分布式计算接入层 + 数据服务层 |