【金山云分布式数据库DragonBase架构详解】
分布式数据库DragonBase是金山云推出的一款高效、稳定且具备强大扩展性的数据库产品,其设计目标是满足金融级业务对高可用、高可靠、高性能、高安全以及可扩展的需求。该产品在设计上遵循了数据库系统的发展趋势,包括云原生、分布式、多模计算以及软硬一体化。
1. **分布式数据库发展背景**
- **商业进阶**(1980~1990):这一阶段,大型数据库管理系统如Oracle、IBM DB2、SQL Server等占据主导地位。
- **开源+分析**(1990~2000):随着MySQL、PostgreSQL等开源数据库的崛起,数据分析也得到发展。
- **NoSQL数据库**(2000~2010):应对大数据时代,NoSQL数据库如MongoDB、HBase等提供了非关系型数据处理方案。
- **云原生分布式、New SQL、多模**(2010~2020):随着云计算的发展,Aurora、Google Spanner、CockroachDB/TiDB等云原生数据库出现,支持New SQL的高性能事务处理和多模数据处理。
- **软硬一体化**:结合硬件优化,如Oracle的Exadata,提供更高效的数据库解决方案。
2. **金山云DragonBase产品架构**
- **单体版本**:最初上线公有云,提供主备模式的高可用数据库服务。
- **分布式版本2.0**:支持私有化部署,具备弹性扩展和分布式事务处理能力。
- **分布式版本3.0**:引入强一致性的数据存储,优化内核性能,并提供全面的安全、运维和兼容性功能。
DragonBase由以下几个核心组件构成:
- **基础层管理平台**:包括接入服务API/SDK、SLB、控制台、安全控制系统等。
- **计算节点DragonServer (DS)**:负责SQL解析、执行计划并行计算。
- **存储单元Shard**:存储数据,支持多副本和多模式复制。
- **全局管理服务GMS**:协调全局事务和元数据。
- **数据服务**:如分布式事务DTX、数据管理DMS、数据传输DTS和备份恢复DBS。
3. **关键能力**
- **副本间数据一致性**:通过Raft一致性算法实现主从副本间强同步复制,确保RPO=0。
- **高可用**:采用多副本存储,实现同城双活、异地灾备,水平扩展支持在线扩容缩容。
- **可扩展性**:支持大规模数据存储(百TB级),计算节点和存储节点均可以扩展。
- **兼容性**:兼容MySQL/PG,业务迁移成本低,同时兼容SQL标准和Oracle常用功能。
- **高性能**:采用计算存储分离,利用分布式并行计算技术提升性能。
- **安全性**:具备用户权限管理、传输和存储加密,以及安全审计功能。
4. **应用实践**
DragonBase广泛应用于金融、医疗、互联网等行业,提供公共服务,确保业务连续性和数据安全性。
5. **市场趋势**
根据智研咨询和东兴证券研究所的报告,数据库市场规模年复合增长率保持在18%,预计到2024年,云数据库部署模式将占据75%的市场份额,表明云化趋势明显。
金山云分布式数据库DragonBase是一款适应现代业务需求的高性能数据库产品,它在分布式架构、数据一致性、高可用性、扩展性和安全性方面展现出卓越的性能,为企业数字化转型提供了坚实的基础。