技术白皮书—技术架构

简介: 架构演进理念 当前,分布式领域有3大技术方向:Sharding技术,NewSQL原生分布式技术,云原生DB技术。每种分布式都有其独特的优势和特点。PolarDB-X的架构继承了DRDS和X-DB技术的稳定性,结合了PolarDB的云原生技术,融入了NewSQL对于分布式数据一致性的能力,为用户提供新的“云原生+分布式”的产品体验。

p330045.png

整体架构

PolarDB-X的整体架构如下:p330051.png核心组件

  • 元数据服务(Global Meta Service,GMS),主要提供分布式的元数据,提供全局授时服务(TSO)、维护Table/Schema、Statistic等Meta信息、维护账号、权限等安全信息。
  • 计算节点(Compute Node,CN),主要提供分布式SQL引擎,包含核心的优化器和执行器。基于无状态的SQL引擎提供分布式路由和计算,解决分布式事务2PC协调、分布式DDL执行、全局索引维护等。
  • 存储节点 (Date Node,DN),主要提供数据存储引擎,基于多数派Paxos共识协议提供高可靠存储、分布式事务的MVCC多版本存储,另外提供计算下推能力满足分布式的计算下推要求(比如Project/Filter/Join/Agg等下推计算),可支持本地盘和共享存储。
  • 日志节点(Change Data Capture,CDC),主要提供兼容MySQL生态的主备复制协议,兼容Binlog协议和数据格式、支持主备复制Replication的协议和交互。

核心模块p330055.png

如同大多数传统单机关系型数据库,PolarDB-X分为网络层、SQL解析层、优化层、执行层、存储层,其中优化层包含逻辑优化和物理优化,执行层包含单机两阶段执行、单机并行执行和多机并行执行,存储层包含应用了多种传统单机数据库优化和执行技术。

生态工具

PolarDB-X高度兼容MySQL协议和生态,可支持MySQL开源生态中常用的MySQL驱动(JDBC/ODBC)、多语言兼容(Java/GO/C/C++/Python等)、数据导入导出工具、各种客户端GUI等。PolarDB-X提供完整的生态工具方案,如下图所示:p330056.png

闭环的生态工具:

  • 数据管理DMS,基于阿里巴巴集团十余年的数据库服务平台的云版本,提供免安装、免运维、即开即用、多种数据库类型与多种环境统一的web数据库管理终端,可以为企业用户快速复制搭建与阿里集团同等安全、高效、规范的数据库DevOps研发流程解决方案。
  • 数据库自治服务(Database Autonomy Service,简称DAS),一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除数据库管理的复杂性及人工操作引发的服务故障,有效保障数据库服务的稳定、安全及高效。
  • 数据传输服务(Data Transmission Service,简称DTS),支持关系型数据库、NoSQL、大数据等数据源,集数据迁移、订阅及实时同步功能于一体,能够解决公共云、混合云场景下,远距离、毫秒级异步数据传输难题。其底层基础设施采用阿里双11异地多活架构,为数千下游应用提供实时数据流。
  • 数据库备份(Database Backup,简称DBS),低成本、企业级的云原生备份平台。它可以为多种环境的数据库提供强有力的保护,包括本地数据中心、其他云厂商、公共云及混合云。

产品架构

PolarDB-X作为阿里云的成熟云产品,在产品化的配套能力上支持比较完整,包括白屏化的运维操作、多样化的交付形态、完整的OpenAPI、配套的生态工具等。

PolarDB-X部署架构整体基于Kubernetes,运行在高性能的物理机,产品架构设计如下:

  1. PolarDB-X实例由多个节点组成,产品购买以节点为单位,初次购买必须包含2个节点,后续扩容和缩容最小为1个节点。每个节点会有多种规格,比如4c16g、8c32g、16c64g等。
  2. PolarDB-X根据资源隔离诉求的不同,可以分为:通用规格、独享规格、独占物理机规格。 比如通用规格,同一硬件资源下的不同PolarDB-X实例,会互相充分利用彼此空闲的计算资源(如CPU),通过复用计算资源享受规模红利,性价比会更高。而独享规格每个PolarDB-X实例会独占所分配到的计算资源(如CPU),而不会与同一服务器上的其他集群共享资源,性能表现更加稳定。
  3. PolarDB-X支持公有云、混合云的多样化交付。在公有云,支持多地域、多可用区的交付,同时在网络和安全层面,支持VPC、IP白名单、非对称账号密码、TDE加密等方式,确保数据服务安全。 在混合云,支持基于DBStack轻量化输出,可在用户已有机器硬件上完成数据库部署和运维。

架构优势

高可用

经过阿里多年双11验证的X-DB(X-Paxos共识协议能力),提供数据强一致,保证节点故障切换时RPO=0。另外支持多样化的部署和容灾能力,比如基于Paxos强同步的同城三机房、三地五中心,另外搭配binlog异步复制的两地三中心、异地灾备、异地多活等。尤其在异地长距离传输上,基于Batching & Pipelining 进行网络优化来提升性能。

高兼容

PolarDB-X主要兼容MySQL,包括SQL、函数类型等,技术上引入全局时间授时服务,提供全局一致性的分布式事务能力,通过TSO+2PC提供数据库完整的ACID能力,满足分布式下的Read-Commited/Repeatable-Read的隔离级别。同时在分布式事务的基础上,提供全局二级索引能力,通过事务多写保证索引和主表数据强一致的同时,引入基于代价的CBO优化器实现索引选择。除此以外,在元数据和生态对接层面,PolarDB-X基于Online DDL的技术提供了分布式下元数据的一致性。同时硬件层面,兼容主流国产操作系统和芯片认证,比如麒麟、鲲鹏、海光等。

另外在业界主流的分布式数据库里,分布式下的redolog/binlog等数据库变更日志其实一直被厂商所忽视,从关系数据库的发展历史来看,生态和标准对于市场规模化非常重要,PolarDB-X 会支持全局binlog能力,全面兼容和拥抱MySQL数据库生态,用户可以将PolarDB-X当做一个MySQL库,采用标准的binlog dump协议获取binlog日志。

高扩展

PolarDB-X基于Share-Nothing的架构支持水平扩展,同时支持数据库在线扩缩容能力,在OLTP场景下可支持千万级别的并发、以及PB级别的数据存储规模,同样在OLAP场景下,引入MPP并行查询技术,扩展机器后查询能力可线性提升,满足TPC-H等的复杂报表查询诉求。

HTAP

随着移动互联网和Iot设备的普及,数据会产生爆炸式的增长趋势,传统的OLTP和OLAP的解决方案是基于简单的读写分离或者ETL模型,将在线库的数据T+1的方式抽取到数据仓库中进行计算,这种方案存在存储成本高、实时性差、链路和维护成本高。PolarDB-X 设计中支持OLTP和OLAP的混合负载的能力,可以在一个实例里同时运行TPC-C和TPC-H的benchmark测试,保证AP的查询不影响TP流量的稳定性。核心技术层面,我们也有自己的创新性,比如我们会在计算层精确识别出TP和AP的流量,结合多副本的特性和多副本的一致性读能力,智能将TP和AP路由到不同的副本上,同时在AP链路上默认开启MPP并行查询技术,从而在满足隔离性的基础上,线性提升AP的查询能力。在存储层上,我们也在完善计算下推能力,未来也会提供高性能列存引擎,实现行列混合的HTAP能力。

极致弹性

PolarDB-X结合PolarDB云原生的技术,可以基于PolarDB的共享存储+RDMA网络优化能力,提供秒级备份、极速弹性、以及存储按需扩展的能力。基于共享存储的基础上,结合分布式的多点写入能力,可以在不迁移数据的前提下提供秒级弹性的能力,给到用户完全不一样的弹性体验。

开放生态

PolarDB-X全面拥抱和坚定MySQL的开源生态,做到代码完全自主可控的同时满足分布式MySQL的兼容性,架构做到简单开放,只要具备一定MySQL背景的同学即可完成持续运维。除此以外,PolarDB-X和阿里云的数据库生态有完整的闭环对接,支持如DTS/DBS/DMS等,可打通阿里云的整个大生态。

相关文章
|
8月前
|
人工智能 前端开发 安全
AI 最先替代的开发工作:从重复劳动到人机协同的新范式
AI正加速替代基础开发工作:CRUD页面、样板代码、简单Bug修复、文档生成与基础测试等重复性任务已可通过低代码平台与AI工具高效完成,显著提升生产力。据Gartner报告,70%企业内部系统已采用AI辅助开发,人力投入减少60%-80%。GitHub Copilot等工具更让开发者节省45%编码时间。然而,产品需求分析、系统架构设计、复杂交互体验及创新研发等需深度判断与创造力的工作,仍依赖人类智慧。未来开发者将转型为“AI指挥官”,聚焦问题定义、提示工程与人机协同,核心竞争力转向系统思维、业务理解与技术创新。
816 15
|
存储 缓存 JavaScript
基于AutoJs实现的薅羊毛App专业版源码大分享
基于AutoJs实现的薅羊毛App专业版源码大分享
743 0
|
SQL 存储 关系型数据库
Presto【实践 01】Presto查询性能优化(数据存储+SQL优化+无缝替换Hive表+注意事项)及9个实践问题分享
Presto【实践 01】Presto查询性能优化(数据存储+SQL优化+无缝替换Hive表+注意事项)及9个实践问题分享
2226 0
|
存储 人工智能 调度
直播回放 | 高性能智算集群设计思考与实践
本次分享的主题是高性能智算集群设计思考与实践,由阿里云灵骏智算集群产品解决方案负责人丛培岩分享。 1. AGI对基础设施的挑战 2. 高性能智算集群的设计实践 3. 思考与展望
540 1
idea设置项目的字符集编码为gbk的方法
idea设置项目的字符集编码为gbk的方法
887 0
idea设置项目的字符集编码为gbk的方法
|
弹性计算 固态存储 大数据
阿里云服务器租用价格:包年包月、按小时收费明细表2024更新
阿里云服务器提供多样化的配置选择,满足不同用户需求。例如,轻量应用服务器中,2核2G3M带宽的服务器一年仅需82元,相当于每月6.8元;2核4G5M的云服务器ECS优惠价199元一年。此外,还有针对企业和高性能需求的配置,如4核16G10M服务器,一个月仅需70元。阿里云服务器支持新老用户同享优惠,并提供不同期限的灵活续费政策。GPU服务器亦有丰富选项,如配备16G显存V100计算卡的gn6v实例,最高配置下一个月仅需4685.20元。同时,阿里云还提供了详细的公网带宽和系统盘价格方案,帮助用户更精准地规划成本。
2135 4
|
XML 开发框架 前端开发
3分钟带你了解:轻量级依赖注入框架Google Guice【享学Java】(下)
3分钟带你了解:轻量级依赖注入框架Google Guice【享学Java】(下)
|
3月前
|
人工智能 运维 自然语言处理
AI开源知识库与IM、工单系统的对接实践研究
AI开源原生开源知识库,以AGPL‑3.0协议开源面向技术团队、产品部门、客服体系与研发社区,提供文档全生命周期管理、AI辅助创作、语义检索、智能问答及第三方系统集成能力,可快速落地为产品手册、技术文档库、内部FAQ、对外帮助中心等场景。
|
人工智能 自然语言处理 算法
云端问道11期实践教学-创建专属AI助手
本次分享意在帮助用户更加全面、深入地了解百炼的核心产品能力,并通过实际操作学会如何快速将大模型与自己的系统及应用相结合。主要包括以下三个方面: 1. 阿里云百炼产品定位和能力简介 2. 知识检索 RAG 智能体应用能力和优势 3. 最佳落地案例实践分享
1040 56

热门文章

最新文章