北京万里开源软件有限公司(简称“万里数据库”)成立于2000年,是专注于国产自主创新数据库产品研发的国家高新技术企业,国家级“专精特新”小巨人企业,原MySQL中国研发中心、教育中心,拥有发明专利、软件著作权百余项。公司设北京(总部)及上海、福州、广州、成都4个研发支持中心,技术服务体系覆盖全国,于2023年入选中国信息安全测评中心、国家保密科技测评中心联合发布的《安全可靠测评结果公告( 2023年第1号)》。

万里DB
公司介绍:
产品详情
万里开源万里DB(Wonhigh DB,简称WHDB)是一款面向企业级应用的分布式关系型数据库产品,旨在解决传统单机数据库在高并发、海量数据存储、高可用保障等场景下的瓶颈问题。其核心设计目标是为企业提供具备强一致性、高扩展性、高可用性与兼容性的数据库服务,支持金融、电信、政府、互联网等行业的核心业务系统需求,同时兼容主流数据库语法与生态,降低企业迁移与使用成本。
一、核心定位与整体架构
万里DB的核心定位是“企业级分布式关系型数据库”,聚焦于解决以下业务痛点:海量数据存储与高并发访问需求、核心业务系统的高可用与灾备要求、跨地域数据同步与多活部署、国产化信创环境适配、以及传统商业数据库的成本优化。其整体架构采用分层设计,确保各模块职责清晰、可扩展、易维护。
1.1 核心定位关键词
- 分布式架构:通过水平扩展实现存储与计算能力的线性增长,支持PB级数据存储与百万级并发访问。
- 关系型兼容:全面兼容MySQL 8.0语法规范,部分支持Oracle PL/SQL特性,降低应用迁移成本。
- 企业级特性:提供高可用、强一致性、数据安全、合规审计等能力,满足金融、政务等行业的严格要求。
- 国产化适配:深度适配鲲鹏、飞腾、海光等国产CPU,以及麒麟OS、统信UOS等国产操作系统,符合信创标准。
1.2 整体架构分层
万里DB的逻辑架构分为五层,从下至上依次为:
- 存储层:基于分布式文件系统或本地存储,提供数据持久化能力。支持多副本存储(默认3副本),通过副本同步保证数据可靠性。
- 计算层:包含SQL解析器、优化器、执行器,负责处理用户的查询请求。支持分布式查询计划生成与并行执行,提升查询效率。
- 分布式协议层:实现分布式节点间的通信与协调,包括分片路由、分布式事务处理、故障检测与转移等核心逻辑。采用Raft协议保证集群一致性,支持自动选主与故障恢复。
- 兼容层:提供MySQL/Oracle兼容接口,包括JDBC/ODBC驱动、SQL语法转换、存储过程/触发器支持等,确保应用无缝迁移。
- 管理工具层:包含可视化管理控制台、备份恢复工具、性能监控系统、迁移工具等,简化数据库的部署、运维与管理。
二、核心功能模块详解
2.1 分布式架构与高可用机制
万里DB的分布式架构是其核心竞争力之一,通过以下功能保障系统的扩展性与可用性:
- 分片策略灵活配置:
- 水平分片:按分片键将表数据分散到多个节点,支持哈希、范围、列表三种分片算法。例如,电商订单表按订单时间范围分片,可提升时间区间查询效率;用户表按用户ID哈希分片,实现数据均匀分布。
- 垂直分片:将表中不同列拆分到不同节点,适用于字段多且访问频率差异大的场景。如用户表将高频访问的“用户名、手机号”与低频访问的“地址、备注”分开存储。
- 全局表:对字典表、配置表等小表采用全局同步机制,数据复制到所有分片节点,避免跨节点查询,提升性能。
- 高可用与故障转移:
- 多副本同步:支持异步、半同步、强同步三种副本同步模式。强同步模式下,主节点需等待至少一个备节点确认数据写入成功后再返回客户端,保证RPO=0(数据零丢失)。
- 自动故障转移:通过Raft协议实现集群选主,当主节点故障时,备节点自动晋升为主节点,RTO(恢复时间)小于30秒。故障节点恢复后自动加入集群,数据同步完成后可重新参与选主。
- 跨地域灾备:支持多机房部署,可配置跨地域副本同步,实现异地灾备。当主机房故障时,可快速切换到备机房,保证业务连续性。
- 弹性扩展:
- 在线扩容缩容:支持无需停机的节点添加与删除。扩容时,系统自动将部分分片数据迁移到新节点;缩容时,将待删除节点的数据迁移到其他节点后再下线,确保数据不丢失。
- 资源动态调整:可根据业务负载调整节点的CPU、内存、存储资源,支持容器化部署(Docker/K8s),实现资源弹性伸缩。
2.2 SQL兼容与语法支持
万里DB注重与主流数据库的兼容性,降低应用迁移成本:
- MySQL兼容:
- 全面兼容MySQL 8.0语法规范,包括DML(SELECT/INSERT/UPDATE/DELETE)、DDL(CREATE TABLE/INDEX)、事务控制(BEGIN/COMMIT/ROLLBACK)等。
- 支持MySQL的存储引擎接口,用户可无缝迁移使用InnoDB引擎的应用。
- 兼容MySQL的JDBC/ODBC驱动,应用无需修改代码即可连接万里DB。
- Oracle兼容特性:
- 支持Oracle的PL/SQL语法,包括存储过程、函数、触发器、游标、异常处理等。例如,可直接运行Oracle的存储过程代码,无需修改。
- 支持Oracle的序列(SEQUENCE)、同义词(SYNONYM)、视图(VIEW)等对象,以及NVL、DECODE等函数。
- 支持Oracle的事务隔离级别(READ COMMITTED、SERIALIZABLE),与Oracle行为一致。
- 语法自动转换工具:提供SQL语法转换工具,可将Oracle SQL语句自动转换为万里DB兼容的语法,减少手动修改工作量。
2.3 存储引擎优化
万里DB针对不同业务场景优化了存储引擎,提供多种选择:
- WHDB-OLTP引擎:
- 基于InnoDB引擎优化,提升了磁盘IO效率与并发处理能力。支持页压缩(LZ4算法),存储效率提升30%以上。
- 支持MVCC(多版本并发控制),减少读写冲突,提升高并发场景下的性能。
- 支持自适应哈希索引,自动为频繁访问的列创建哈希索引,加速查询。
- WHDB-OLAP引擎:
- 采用列式存储方式,适合大数据量的分析查询。支持向量查询、列式压缩(Delta编码、字典编码),查询性能比行存引擎提升5-10倍。
- 支持分区表(按时间、范围分区),可快速删除历史数据,提升查询效率。
- 兼容标准SQL分析函数(如SUM、AVG、COUNT、窗口函数),满足复杂分析需求。
- 混合负载支持:同一集群可同时运行OLTP与OLAP引擎,通过资源隔离(CPU、内存、IO限制)保证两种负载互不干扰。例如,核心交易系统使用OLTP引擎,数据分析系统使用OLAP引擎,共享同一套数据,无需数据迁移。
2.4 事务处理能力
万里DB提供强一致性的事务支持,满足企业核心业务需求:
- 分布式事务:
- 支持XA协议与两阶段提交(2PC),保证跨分片事务的ACID特性。优化了2PC的提交流程,减少锁等待时间,提升事务吞吐量。
- 支持MVCC分布式事务,通过版本号控制实现读写分离,减少分布式锁的使用,提升并发性能。
- 事务隔离级别:支持READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE四个隔离级别,默认使用REPEATABLE READ,与MySQL一致。
- 事务监控与诊断:提供事务执行日志、锁等待分析工具,可实时监控事务状态,定位长事务与锁冲突问题。
2.5 数据安全与合规
万里DB提供全方位的数据安全保障,满足金融、政务等行业的合规要求:
- 数据加密:
- 传输加密:支持TLS 1.2/1.3协议,保证客户端与服务器之间的数据传输安全。
- 存储加密:支持透明数据加密(TDE),对数据文件进行AES-256加密,防止数据泄露。
- 列级加密:支持对敏感列(如手机号、身份证号)进行加密存储,应用可通过解密函数访问明文数据。
- 权限控制:
- 基于RBAC(角色基于访问控制)模型,支持数据库、表、列级别的权限分配。例如,可授予某个角色查询用户表的权限,但禁止修改敏感列。
- 支持细粒度的操作权限(SELECT/INSERT/UPDATE/DELETE),以及管理员、开发人员、只读用户等角色模板。
- 审计日志:
- 记录所有用户操作(登录、查询、修改、删除),包括操作时间、用户ID、IP地址、SQL语句等信息。
- 支持审计日志的导出与分析,满足等保2.0、GDPR等合规要求。
- 数据脱敏:支持对敏感数据进行脱敏处理,如将手机号中间四位替换为*,身份证号只显示前六位与后四位,保护用户隐私。
2.6 管理与运维工具
万里DB提供丰富的管理工具,简化数据库的运维工作:
- 可视化管理控制台:
- Web界面支持集群部署、节点管理、分片配置、用户权限管理等操作。
- 实时监控集群状态(CPU、内存、IO、QPS、延迟),提供图表化展示。
- 支持慢查询分析,自动识别性能低下的SQL语句,并给出优化建议(如添加索引)。
- 备份恢复工具:
- 支持全量备份、增量备份、逻辑备份(SQL导出)、物理备份(数据文件复制)。
- 支持跨集群恢复,可将备份数据恢复到其他集群,实现灾备。
- 支持定时备份策略,自动执行备份任务,并发送备份结果通知。
- 迁移工具:
- 支持从MySQL、Oracle、SQL Server迁移到万里DB,自动同步表结构与数据。
- 支持增量迁移,在全量迁移完成后,实时同步增量数据,保证迁移过程中业务不中断。
- 提供迁移进度监控与错误处理机制,确保迁移数据的一致性。
- 性能调优工具:
- 自动分析执行计划,识别低效的查询操作(如全表扫描、笛卡尔积)。
- 支持索引建议,根据查询频率自动推荐需要创建的索引。
- 提供SQL语句的执行时间统计,帮助开发人员优化代码。
2.7 生态集成
万里DB兼容主流的应用生态,方便与现有系统集成:
- 应用框架集成:支持Spring Boot、MyBatis、Hibernate等Java框架,提供对应的驱动与配置示例。
- 大数据平台集成:支持与Hadoop、Spark、Flink等大数据平台集成,可通过JDBC读取万里DB的数据,用于数据分析与处理。
- 云平台集成:支持阿里云、华为云、腾讯云等云平台的部署,提供容器化镜像(Docker)与Kubernetes Operator,实现云原生部署。
- 监控工具集成:支持Prometheus、Grafana等监控工具,可导出监控指标,实现统一监控。
三、技术特点与优势
- 高性能:
- 单节点支持10万+ QPS,分布式集群支持百万级QPS,满足高并发业务需求。
- OLTP事务延迟小于1ms,OLAP查询性能比传统单机数据库提升5-10倍。
- 优化的存储引擎与分布式协议,减少网络开销与锁等待时间。
- 高可用:
- RPO=0(数据零丢失),RTO<30秒(故障恢复时间),保证业务连续性。
- 多副本存储与自动故障转移,避免单点故障。
- 跨地域灾备支持,应对自然灾害等极端情况。
- 强一致性:
- 支持ACID事务,分布式事务保证跨分片数据的一致性。
- MVCC机制减少读写冲突,提升并发性能的同时保证数据一致性。
- 弹性扩展:
- 在线扩容缩容,无需停机,业务无感知。
- 存储与计算能力线性增长,支持PB级数据存储。
- 国产化适配:
- 兼容鲲鹏、飞腾、海光等国产CPU,麒麟OS、统信UOS等国产操作系统。
- 通过信创认证,符合国家信息技术应用创新要求。
- 成本效益:
- 基于开源技术优化,无需高昂的商业数据库license费用。
- 分布式架构减少硬件投入,提升资源利用率。
- 简化运维工作,降低人力成本。

四、典型应用场景
- 金融核心交易系统:
- 应用:银行核心系统、支付清算系统、证券交易系统。
- 需求:高并发、高可用、强一致性、数据安全。
- 解决方案:万里DB的分布式架构支持百万级交易,自动故障转移保证业务不中断,强一致性事务满足金融监管要求,数据加密与审计日志符合合规标准。
- 电商订单系统:
- 应用:电商平台订单管理、秒杀活动、用户画像。
- 需求:海量数据存储、高并发写入、全局唯一ID、混合负载处理。
- 解决方案:水平分片存储订单数据,全局表存储字典信息,混合负载支持实时交易与数据分析,高并发写入支持秒杀场景。
- 政务数据平台:
- 应用:政务信息整合、民生服务系统、电子政务。
- 需求:国产化适配、数据安全、跨部门查询、高可用。
- 解决方案:兼容国产软硬件,数据加密与脱敏保护用户隐私,分布式架构支持跨部门数据整合,高可用机制保证政务服务不中断。
- 电信计费系统:
- 应用:用户计费、流量统计、账单生成。
- 需求:海量数据处理、高并发计算、实时分析。
- 解决方案:列式存储引擎支持大数据量分析,分布式计算能力处理高并发计费任务,实时数据同步保证账单准确性。
- 制造业生产数据管理:
- 应用:生产过程监控、设备数据采集、供应链管理。
- 需求:实时数据写入、混合负载处理、跨地域数据同步。
- 解决方案:高并发写入支持设备数据采集,混合负载处理实时监控与数据分析,跨地域灾备保证生产数据安全。
五、总结
万里DB作为企业级分布式关系型数据库,整合了分布式架构、高可用机制、兼容特性、安全合规等核心能力,能够满足各行业的核心业务需求。其高性能、高可用、强一致性的特点,以及对国产化环境的深度适配,使其成为企业数字化转型的可靠数据库选择。无论是金融核心交易、电商订单管理,还是政务数据平台,万里DB都能提供稳定、高效、安全的数据库服务,帮助企业降低成本、提升效率、保障业务连续性。
如需了解更多产品详情,请访问万里开源官方网站:
登录后查看
案例介绍
版权/专利









