华为云TaurusDB存算分离架构深度解析:从传统数据库瓶颈到云原生架构跃迁
在企业级数据库应用中,随着业务量的增长,数据库的读写压力日益增大。传统的开源MySQL数据库在扩展性方面遇到了明显的瓶颈——添加只读节点时需要复制全量数据,导致扩展时间长且成本高。这个问题在电商大促、节日营销等流量激增场景下尤为突出,直接影响业务成果和客户满意度。
华为云TaurusDB作为华为自研的最新一代企业级云原生数据库,完全兼容MySQL,采用计算存储分离架构,最大支持128TB的海量存储,故障秒级切换,既拥有商业数据库的高可用和性能,又具备开源的低成本效益。本文将从架构设计、核心组件、关键技术和性能优化四个维度,深入解析TaurusDB存算分离架构的技术原理。
一、为什么需要存算分离
传统数据库架构中,计算与存储紧密耦合,资源分配固定且难以调整。企业需要根据业务峰值预留足够资源,导致日常资源闲置浪费;与此同时,当业务突发性增长超出预期时,又面临资源瓶颈,系统性能急剧下降,甚至可能引发服务中断。
这种业务负载波动与固定资源分配之间的矛盾,已成为制约企业IT效能提升的关键瓶颈。企业面临两难抉择:一方面需要严格控制IT成本,避免资源闲置浪费;另一方面必须确保系统在高负载下仍能保持稳定性能,保障业务连续性和用户体验。
存算分离的核心思想是将数据存储与计算能力解耦。在TaurusDB中,存储层和计算层可以独立扩展和管理——计算资源可根据业务需求灵活调整,存储资源可独立扩展,无需考虑计算节点的影响。这种架构不仅提高了资源利用率,降低了总体拥有成本,还简化了运维工作。
二、三层架构设计
云数据库TaurusDB整体架构自下向上分为三层:存储层、存储抽象层和SQL解析层。
存储层:基于华为DFV(Data Function Virtualization)存储,提供分布式、强一致和高性能的存储能力。DFV是一个与数据库垂直整合的高性能、高可靠的分布式存储系统。存储集群采取池化部署,可以有效提升存储使用效率,构建以数据为中心的全栈数据服务架构。这一层保障了数据的可靠性以及横向扩展能力,数据可靠性不低于99.999999999%(11个9)。
存储抽象层:将原始数据库基于表文件的操作抽象为对应分布式存储,向下对接DFV,向上提供高效调度的数据库存储语义,是数据库高性能的核心。
SQL解析层:与MySQL 8.0开源版100%兼容,客户业务从MySQL生态可以平滑迁移。基于原生MySQL,在100%兼容的前提下进行大量内核优化以及开源加固。
计算层主要由一个主节点(Master)和多个只读节点(Read Replica)组成。主节点负责提供业务的读写能力,而只读节点则用于分担读取负载,提高系统的整体性能和可用性。
三、存储抽象层的核心机制
SAL层位于计算层的InnoDB引擎和存储节点的中间层,主要给InnoDB层提供日志和数据的存储服务。其主要功能包括日志服务、管理页面数据、数据写入、页面读取和后台任务。
SAL层的日志服务实现了Append-only模式写日志和读日志能力。Log Store提供一个基本的Append-Only的存储对象PLog(Persistent Log)。每个PLog的大小是固定的,目前TaurusDB配置单个PLog大小为256M,并且采用3副本强一致策略——写入请求需要在3个副本上都完成才视为成功。如果PLog的某个副本所在服务器出现异常,写入请求会立刻选择新的服务器,并在该服务器上创建新的PLog,然后再次执行请求,直至成功。
基于基础的PLog,SAL层实现了CULog(Continuous Unlimited Log),提供了一个具有无限空间的日志组件。数据库日志系统使用多个CULog进一步封装实现了PWAL(Persistent Write Ahead Log)。目前TaurusDB配置8个日志CULog,每次日志写入时采用轮询的方式并发写入,以提高性能。每条日志对应一个递增的日志序列号(LSN),SAL维护多种LSN来确保日志的一致性和可恢复性。
在页面管理方面,为了便于管理页面数据,TaurusDB将多个Page数据进行分片,每个分片(Slice)固定大小为10G。这种分片机制使得存储管理更加精细和高效。
四、存算分离的核心特点
TaurusDB作为云原生存算分离数据库,所有计算节点共享同一份存储数据,这是其与开源MySQL的最大区别。这种架构带来了几个核心特点:
分钟级添加只读节点:添加只读节点时无需复制全量数据,添加节点的时间与数据量大小无关,可实现分钟级添加只读节点(预估7到10分钟),最多支持1主15只读节点。这对于传统MySQL来说几乎不可能——在数据量达到TB级别时,添加一个只读节点可能需要数小时甚至数天。
主备同步机制革新:主备之间无需进行Binlog复制以同步数据,仅同步redo元数据。只读节点通过从DFV存储池中读取并回放redo log来实现数据同步。这种机制大幅降低了主节点在数据同步上的开销,让主节点可以专注于业务读写。不过需要注意的是,TaurusDB基于共享存储架构,主备之间仍需要同步redo元数据,所以会存在主备数据延迟。
计算与存储独立扩展:计算层可根据实时业务负载动态调整计算资源,实现秒级扩缩容,精准匹配业务需求;存储容量可按需线性扩展,不受计算节点限制,满足海量数据增长需求。
五、NDP近数据处理与并行查询
TaurusDB在存算分离的基础上,进一步实现了NDP(Near Data Processing,近数据处理)和并行查询等深度优化。
计算下推:针对数据密集型查询,TaurusDB将提取列、聚合运算、条件过滤等操作从计算节点向下推送给分布式存储层的多个节点并行执行。这意味着数据在存储层就已经完成了初步的过滤和聚合,只有处理后的结果集才通过网络传输到计算节点,大幅减少了网络IO和计算节点的负载。
并行查询:支持并行执行的查询方式,用以降低分析型查询场景的处理时间,满足企业级应用对查询低时延的要求。对于复杂的分析查询,TaurusDB可以将查询任务拆分为多个子任务,在多个计算节点上并行执行,显著提升查询效率。
LIMIT OFFSET下推:把LIMIT OFFSET下推到引擎层处理,提升查询效率。在传统MySQL中,LIMIT OFFSET需要先将所有数据扫描到内存再截取,在大数据量场景下性能极差。TaurusDB将这个操作下推到存储层,直接在存储层完成截取,大幅减少了数据传输量。
六、性能与可用性
TaurusDB在性能和可用性方面的数据相当可观。完全兼容MySQL,性能最高可达开源版本的7倍。存储容量最大128TB,数据可靠性不低于99.999999999%。故障秒级切换,计算资源可在6秒内完成自动规格扩缩容。
在成本方面,冷热数据分层存储显著降低了存储成本。对于AI类应用负载不可预测性的场景,TaurusDB实现数据库实例秒级创建,无负载状态下资源弹性到0。推出的自研向量引擎,向标混合检索性能相比开源提升2倍。
在实际案例中,TaurusDB支撑了中东地区领先的食品科技与餐饮服务集团DailyFood,交易处理速度提升50%。
七、Agent-Native演进
2026年6月,华为云在INSPIRE创想者大会上发布了TaurusDB for PostgreSQL存算分离版本,支持Agent高频访问、分支管理、语义访问,具备256TB大容量,性能领先30%,语义混合查询性价比可提升50%。
华为云数据库云服务产品线副总裁丁晨指出,步入Agentic时代,软件架构范式正从“以应用为中心”向“以数据为中心”转变。数据库正在成为这一转型的核心枢纽,华为云数据库拥抱Agent-Native新范式,产品能力全系升级。
在运维层面,数据库智能平台集成专家经验,通过多智能体协同支持从规划设计、开发测试到数据分析的全流程。运维Agent的skill选择准确率达99%,Top故障场景自闭环,风险操作识别率达100%,整体运维效率可提升60%。
总结
华为云TaurusDB通过存算分离的三层架构设计,打破了传统数据库计算与存储耦合的桎梏。从DFV分布式存储到SAL存储抽象层,从NDP近数据处理到并行查询引擎,每一个层次都在为“弹性、性能、成本”这三个数据库核心诉求做系统性优化。理解这套架构的原理,有助于在数据库选型和架构设计中做出更合理的决策——尤其是在业务负载波动大、数据量快速增长、需要兼顾性能和成本的场景下,存算分离的云原生数据库正在成为越来越有吸引力的选择。
- 点赞
- 收藏
- 关注作者
评论(0)