平凯数据库简介
产品概述
平凯数据库企业版软件(以下简称“平凯数据库”)是由平凯星辰(北京)科技有限公司(以下简称“平凯星辰”)自主研发的一款分布式数据库产品。
得益于自主创新和架构的先进性,平凯数据库支持在线事务处理 (OLTP - Online Transaction Processing) 及混合负载 (HTAP - Hybrid Transactional and Analytical Processing),具备高度兼容 MySQL 协议和语法、弹性水平扩缩容、金融级高可用、实时分析、云原生等典型技术特点,并提供异构数据(例如 Oracle)迁移、备份恢复等一系列企业级周边工具,被广泛应用于海量数据、海量并发、实时在线分析等对稳定性、性能和安全均要求极苛刻的关键业务场景。
平凯星辰从第一行代码开始自主研发平凯数据库,自主设计并实现数据库底层架构和内核,没有使用 MySQL 等国外主流开源数据库的代码,从源头上消除了采用 GPL 等强传染协议开源数据库的风险,从上游保证供应链安全。平凯星辰长期践行 “自主开源”的核心战略,将平凯数据库的内核 TiDB 主动对外开源,并按国际化的方式运营,构建了活跃的全球开源生态,打造了由中国人主导和控制的全球知名的开源根技术和根社区,并始终牢牢把控上游开源社区,确保产品供应链安全,成为国内基础软件企业、开源企业的典型代表。
平凯星辰的研发理念认为,数据库承载了企业的核心数据,是基础软件领域极高门槛的“硬核科技”,其独立研发投入巨大,需要很强的前瞻性。研发的路线规划需要着眼于技术行业的发展趋势和客户中长期需求,需要面向未来 5 到 10 年进行规划。平凯数据库采用的原生分布式架构,区别于 Oracle、MySQL、分库分表中间件等传统分布式技术方案,是立足现在、面向未来设计的数据库技术;平凯数据库简化了技术架构、统一了数据处理技术栈,具备海量数据的弹性扩展、实时 HTAP、云原生、AI+ 等新一代云原生数据库的特点,将为大数据、云、人工智能和万物互联时代的业务创新提供无限可能。这将为中国数据库产业实现“换道超车”,既避免现在被 “卡脖子”,也避免未来继续被“卡脖子”,乃至引领全球数据库发展提供了一条实践道路。
研发历程
平凯数据库发展至今,经历了三个大的研发阶段:
原型初创阶段(2015 年 ~ 2017 年)
2015 年,平凯星辰技术团队创建了分布式数据库 TiDB 项目,立志用全新的、对业务没有侵入性的分布式架构,解决困扰业界多年的关系型数据库水平扩展的难题。同年 9 月将 TiDB 正式开源,引发业界广泛关注;历经 2 年半的快速迭代,于 2017 年 10 月发布了第一个正式版本 TiDB v1.0。
原型初创阶段,公司面向未来的行业技术趋势和用户需求进行架构设计,做出了多项影响至今的关键技术决策,例如兼容 MySQL 协议和语法、计算和存储分离、 分布式一致性协议选择 raft、采用 Rust 语言编写存储引擎等。该阶段也构建了整个研发团队的开源技术文化。
原型初创阶段,公司开放透明的介绍和推广 TiDB 的原型设计、算法和实现、测试方法论以及数据库行业学术和工程前沿的进展,举办近百次技术交流会 (meetup),吸引了海量用户尤其是互联网科技公司的关注,构建了开源社区的基石,赢得了最早的一批天使客户。
此阶段,完全由平凯星辰的研发团队设计、开发和完善 TiDB 开源项目的产品原型 (TiDB v1.0) 。
开源战略构建企业级产品核心竞争力阶段(2018 年 ~ 2019 年)
随着产品 TiDB 1.0 的发布,平凯星辰开始重点发力通过开源运营,构建“产品 - 用户 - 开发者”的产品飞轮,打造产品的核心竞争力和护城河;这个过程中形成了平凯星辰主导 + 开源社区广泛参与的联合研发模式:即广大开源社区技术爱好者积极投入本开源项目的研发中,参与贡献和遵从由平凯星辰公司决策和主导的研发过程管理与代码质量准入管理流程,形成了稳定的数据库技术内核,同时借助广泛的企业应用使用场景的产品技术交付能力沉淀,系统性的建立了企业级市场分布式数据库技术产品和交付能力。
产品至此进入高速迭代发展阶段,公司于 2018 年 4 月发布 TiDB v2.0,2019 年 6 月发布 TiDB v3.0,通过产品飞轮,获取了大量开源用户尤其是互联网头部企业,例如腾讯、美团、爱奇艺、拼多多、网易、知乎、小红书、58 同城、360 等。
开源用户海量的生产场景部署,帮助 TiDB 发布了更多稳定的开源内核版本,也不断引入面向企业级市场要求的新功能以及生态周边工具等能力,如面向金融级核心业务场景的交易型数据存储引擎、面向实时分析场景的 HTAP 融合型数据存储引擎、数据迁移链路工具、数据同步传输工具、云原生容器化调度管理工具等等,为 TiDB 企业级能力的发展奠定了坚实的技术基础和客户基础。公司同期也开始试水商业化,获取了一大批早期的商业客户,如北京银行、微众银行、中国电信、中体骏彩等。
此阶段,由平凯星辰研发团队主导并控制的 TiDB 开源社区,联合社区贡献者共同推动 TiDB 开源项目的发展。由平凯星辰研发团队设计和管理整个社区的代码开发与验收交付过程,每一行代码都经过平凯星辰研发团队的指导、过程讨论、贡献、审核、确认等环节,最终由平凯星辰研发团队决策是否可以放入 TiDB 的开源项目中去,并不断维护和迭代,确保整个开源代码的完整性、合理性、可控性、可持续发展。
专注信创,深耕商业化阶段(2020 年 ~ 今)
随着产品的成熟和企业级能力的积累,以及国内关键基础设施行业的解决 “卡脖子” 需求迫在眉睫,作为一家中国公司,平凯星辰义不容辞,需要担负起自己应该有的社会责任。因此自 2020 年起,公司进入深耕商业化,全面拥抱信创产业阶段。
公司坚持客户成功的价值观,将关键基础设施行业客户的技术需求放在首位。随着 TiDB 内核的稳定性、易用性、性能、新功能的持续迭代和提升,越来越多的关基行业客户将 TiDB 用于关键业务场景,同时对产品的企业级能力、国产化生态整合能力、产品的交付能力也提出了更高的需求。
为了符合关基行业客户对基础设施稳态建设的基础使用要求,结合开源软件敏态发展的技术先进性和创新发展能力,平凯星辰将 TiDB 企业级能力进行全新升级,推出了 “平凯数据库企业版软件”(以下简称 “平凯数据库”)。
平凯数据库是平凯星辰针对中国企业级市场需求,以 TiDB 开源稳定内核版本为基础,结合企业级通用组件、企业级安全组件、企业级图形化平台组件,整合国产化软硬件生态与体系化交付服务,系统性地进行产品设计与交付实施的企业级稳态产品,适用于对业务连续性、安全合规、保障支持有苛刻要求的严肃生产场景。
此阶段,平凯数据库的开源内核 TiDB 持续按照原有的 TiDB 开源社区开发运营和迭代,企业级组件由平凯星辰独立开发和维护。平凯星辰成立了聚焦企业级组件的专职研发团队,独立开发和维护企业级组件,并时刻追踪开源内核的开发进展,按严格的产品迭代规则,定期选择稳定的内核升级版本,与企业级组件进行整合,经由严苛的系统测试后发布;同时企业级研发团队,联合公司技术支持团队,为客户提供更快、更全面的企业级产品支持,确保代码层级的交付质量。
主要技术特性
平凯数据库是由平凯星辰基于公司自主发表的《TiDB:A Raft-based HTAP Database》工业级论文的学术技术理论,完成产品研发的工程技术落地,整个系统内核采用 Shared-Nothing、计算存储分离的分布式集群架构,对外透明,应用像使用单机数据库的访问一样,完成对平凯数据库企业版软件的访问,结合传统的 RDBMS 通用技术理念和数据分析技术实现的最佳特性,既满足在线业务系统的交易型应用数据处理,又兼顾在线分析系统的分析型应用数据处理的,提供 HTAP 融合型的数据服务能力,同时兼容 MySQL 数据库协议和语法,支持无限的水平扩展,具备强一致性和高可用性,代表了新一代分布式数据库方向的自研分布式数据库产品。具备如下特性:
高度兼容 MySQL
支持 SQL 92/99 规范,高度兼容 MySQL 协议和语法,几乎无需修改代码即可从 MySQL 或 MySQL 的分支版本如 MariaDB,轻松迁移至平凯数据库,包括分库分表后的 MySQL 分片集群亦可通过平凯数据库的自研工具进行简易实时的自动化迁移。
水平弹性扩展
通过简单地增加服务器或扩充服务器配置,即可实现平凯数据库在业务不停机的状态下,无感知弹性伸缩,按需扩展吞吐或存储,轻松应对高并发、海量数据场景。
分布式事务
平凯数据库 100% 支持标准的 ACID 事务,包括节点内的事务,节点组内事务,节点之间和节点组之间,所有事务状态全部由分布式事务实现。
真正金融级高可用,数据零丢失
相比于传统主从 (M-S) 复制方案,基于 Raft 的多数派选举协议可以提供金融级的 100% 数据强一致性保证,且在不丢失大多数副本的前提下,可以实现故障的自动恢复 (Auto-failover),无需人工介入。同时提供跨机房容灾的能力,分布式数据库的所有节点都支持跨机房部署,并可扩展为跨地域多中心高可用架构。
一站式 HTAP 解决方案
平凯数据库作为典型的 OLTP 数据库,同时兼具强大的 OLAP 性能,可提供一站式 HTAP 解决方案,一份存储同时处理 OLTP & OLAP,无需传统繁琐的 ETL 过程。
云原生数据库
平凯数据库是为云而设计的数据库,支持公有云、私有云和混合云,使部署、配置和维护变得十分简单,同时原生的分布式架构,对业务没有任何侵入性,能平滑透明的替换传统的数据库中间件、数据库分库分表等数据拆分方案,让开发运维人员不用关注数据库弹性伸缩的技术设计细节问题,专注于业务开发,极大的提升研发的生产力。
产品相关界面信息如下:




架构及功能描述
平凯数据库做为一款面向海量数据在线联机交易、业务数据实时分析、数据强一致、跨数据中心高可用的分布式数据库软件产品,多年内处于国内分布式关系型数据库排名第一,真正做到核心技术完全开放,无任何技术捆绑。产品模块组成部分包括:管理模块 (PD),计算模块 (TiDB)、行存储模块 (TiKV)、列存储模块 (TiFlash)、工具模块、图形化平台模块、及起到整个数据库系统数据处理和访问安全管理的安全机制底座。整体模块结构如下图所示:

数据库内核包括:依托于安全机制的基础上,由管理模块 (PD)、计算模块 (TiDB)、行存储模块 (TiKV)、列存储模块 (TiFlash) 4 大模块,代码行数共计约 2,389,170 行。其中:管理模块 (PD)、计算模块 (TiDB)、行存储模块 (TiKV) 共 3 个模块为完全自研模块,代码大约 1,745,383 行;列存储模块 (TiFlash),包含了部分开源修改代码,其中自研部分代码大约 388,555 行,开源修改部分代码 255,232 行数,共计 643,787 行。具体功能信息描述,如下所示:
| 模块名 | 模块说明 |
|---|---|
| 管理模块 | 管理模块主要负责:全局一致性授时服务、元数据信息缓存、统计、调度策略管理、选举策略管理、资源控制分配等调度管理等功能。 |
| 计算模块 | 计算模块主要负责:SQL 执行计划管理、配置解析、优化器、权限控制、传输协议、用户信息管理、元数据信息管理、下推计算请求分发、错误信息记录、节点监控数据管理、统计信息管理等功能。 |
| 行存储模块 | 行存储模块主要负责:数据的存储和访问处理、分布式存储文件之间的协议交互、事务管理、备份恢复管理、数据加密管理、数据导入导出管理、并行计算、数据一致性管理、数据复制管理等功能。 |
| 列存储模块 | 列存储模块主要负责:数据的存储和访问处理、分布式存储文件之间的协议交互、事务管理、备份恢复管理、数据加密管理、数据导入导出管理、并行计算、数据一致性管理、数据复制管理等功能。 |
工具包括:自动化部署 (TiUP)、数据迁移 (DM)、备份恢复 (BR)、数据导入 (Lighting)、数据逻辑同步 (Binlog)、数据物理同步 (TiCDC)、云原生管控 (Operator)、大数据生态桥接 (TiSpark)、仪表盘 (Dashboard)、企业级运维管理平台 (TEM)、企业级异构迁移平台 (TMS)、企业级开发编辑器 (SQL Editor),提供部署、迁移、同步、分析、监控、运维、开发调试等功能,代码行数共计 1,698,408 行,全部自研实现。具体功能信息描述,如下所示:
| 模块名 | 模块说明 |
|---|---|
| 工具模块 | 工具模块主要负责:提供平凯数据库执行部署配置、升级、数据迁移、备份恢复、数据导入、数据同步、云原生管控、大数据技术生态对接、以及系统状态信息汇总展示等数据库操作相关的工具。 |
| 图形化平台模块 | 图形化平台模块主要负责:提供图形化集中管理一套或多套平凯数据库,关于部署配置、升级、迁移、备份恢复、分析优化、监控告警、管理实施、安全审计、开发调试等日常运维和开发操作。 |
接口包括:平凯数据库内核提供的外部接口,客户端程序通过调用这些接口访问和操作数据库,支持兼容 MySQL 网络协议的接口,内置在内核计算模块 (TiDB) 中,主要负责网络协议管理功能,相关代码行数共计 23,402 行,全部自研实现。
安全机制:安全机制作为平凯数据库系统的功能底座,是各功能模块运行的重要前置条件之一,确保平凯数据库系统的数据安全和信息传输安全,主要包括访问控制机制、传输加密机制、身份认证机制、权限/资源管理机制、存储加密机制、日志数据脱敏机制、审计日志机制、备份/恢复机制。安全机制完全自研实现。