88 lines
3.9 KiB
Markdown
88 lines
3.9 KiB
Markdown
### **关键特性对比表**
|
||
|
||
| 数据库 | 开源情况 | 一致性模型 | 同步协议 | 兼容性 | 典型场景 |
|
||
| -------------- | ------ | ------ | ---------- | ------------ | ------------- |
|
||
| **TiDB** | 完全开源 | 强一致性 | Raft | MySQL | 高并发 OLTP/HTAP |
|
||
| **OceanBase** | 社区版开源 | 强一致性 | Paxos | Oracle/MySQL | 金融核心系统 |
|
||
| **openGauss** | 完全开源 | 强/最终一致 | Raft/复制 | PostgreSQL | 企业级替代 Oracle |
|
||
| **TDSQL** | 云服务 | 强一致性 | MAR (Raft) | MySQL | 银行、政务云 |
|
||
| **KunlunBase** | 部分开源 | 强一致性 | Paxos | PostgreSQL | 高并发混合负载 |
|
||
| **GoldenDB** | 闭源(商业) | 强一致性 | 强同步复制 | MySQL | 银行核心交易系统 |
|
||
### **1. TiDB(PingCAP)**
|
||
|
||
| 组件 | 最小内存 | 推荐生产内存 | 说明 |
|
||
| -------- | ------- | -------------- | ----------------- |
|
||
| **PD** | 2GB | 8GB+ | 元数据管理,低负载可缩减 |
|
||
| **TiKV** | 4GB | **32GB+ 每节点** | 存储引擎,内存越大性能越优 |
|
||
| **TiDB** | 2GB | 16GB+ | 计算层,OLTP 负载需更高内存 |
|
||
| **整体集群** | **8GB** | **64GB+(3节点)** | 测试环境可缩容,生产需按数据量扩展 |
|
||
|
||
---
|
||
|
||
### **2. OceanBase(社区版)**
|
||
|
||
|场景|最小内存|推荐生产内存|说明|
|
||
|---|---|---|---|
|
||
|**单节点测试**|8GB|16GB+|需关闭内存限制参数|
|
||
|**生产集群**|**16GB**|**64GB+ 每节点**|内存占用与租户数量和事务量强相关|
|
||
|**OBServer**|-|建议总内存 ≥ 数据热集的 30%|依赖内存缓存性能|
|
||
|
||
---
|
||
|
||
### **3. openGauss(分布式部署)**
|
||
|
||
|组件|最小内存|推荐生产内存|说明|
|
||
|---|---|---|---|
|
||
|**CN**|4GB|16GB+|协调节点,复杂查询需更高内存|
|
||
|**DN**|8GB|**32GB+ 每节点**|数据节点,OLTP 场景需配置更大|
|
||
|**GTM**|2GB|8GB+|全局事务管理,轻量级|
|
||
|**整体集群**|**16GB**|**128GB+(3节点)**|需根据分片数量线性扩展|
|
||
|
||
---
|
||
|
||
### **4. TDSQL(腾讯云)**
|
||
|
||
| 配置类型 | 最小内存 | 推荐生产内存 | 说明 |
|
||
| --------- | -------- | -------------- | ---------------- |
|
||
| **Proxy** | 2GB | 8GB+ | 代理节点,低消耗 |
|
||
| **Shard** | 4GB | **32GB+ 每分片** | 每个 MySQL 分片实例需求 |
|
||
| **全局组件** | 8GB | 16GB+ | ZK/TDSQL-MGR 等 |
|
||
| **生产集群** | **16GB** | **96GB+(3分片)** | 金融级场景需 ≥ 64GB/节点 |
|
||
|
||
---
|
||
|
||
### **5. KunlunBase(百度)**
|
||
|
||
|组件|最小内存|推荐生产内存|说明|
|
||
|---|---|---|---|
|
||
|**Storage Node**|8GB|32GB+|存储节点,与数据量正相关|
|
||
|**Compute Node**|4GB|16GB+|计算节点,OLAP 需更高内存|
|
||
|**元数据服务**|2GB|8GB+|轻量级|
|
||
|**生产集群**|**24GB**|**128GB+(3节点)**|需预留 20% 内存缓冲|
|
||
|
||
---
|
||
|
||
### **6. GoldenDB(中兴通讯)**
|
||
|
||
|场景|最小内存|推荐生产内存|说明|
|
||
|---|---|---|---|
|
||
|**单节点测试**|16GB|32GB+|需关闭内存限制参数|
|
||
|**生产分片**|**32GB**|**64GB+ 每分片**|银行核心系统通常配置 ≥ 128GB/节点|
|
||
|**全局事务**|8GB|16GB+|GTM 组件|
|
||
|
||
---
|
||
|
||
### **通用建议**
|
||
|
||
1. **最小内存**:仅适用于功能验证或开发测试,生产环境需大幅提升。
|
||
|
||
2. **推荐内存**:
|
||
|
||
- OLTP 场景:建议 ≥ 32GB/节点,TiKV/OceanBase 等存储引擎需更高配置。
|
||
|
||
- 金融级应用:单节点常需 ≥ 64GB,避免频繁磁盘交换。
|
||
|
||
3. **扩展性**:分布式数据库通常支持线性扩展,内存需求随数据分片(Shard/Region)数量增加。
|
||
|
||
|
||
> **注**:具体配置需参考业务数据量(热数据规模)、并发连接数(如 TiDB 每个连接约占用 10MB 内存)及查询复杂度(OLAP 需更多内存)。 |