如何支撑HTAP场景——HybridDB for MySQL系统架构和技术演进

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 10月12日的云栖大会·HTAP技术专场中,阿里云高级专家王骞探讨如何如何支撑HTAP场景,并重点分享了如何利用RDS技术实现HTAP业务,以及HybridDB for MySQL的系统架构和技术演进。

随着DT时代的到来,企业占有的数据越来越多,其规模可能达到上百TB甚至PB级,如何以合理的成本管理并维护这样一个数据库也成为各个企业IT管理中的核心问题。HybirdDB for MySQL是基于HTAP资源的数据库,同时支持OLTP,在一份数据上做事务,又支持实时分析。1012日的云栖大会·HTAP技术专场中,阿里云高级专家王骞探讨如何如何支撑HTAP场景,并重点分享了如何利用RDS技术实现HTAP业务,以及HybridDB for MySQL的系统架构和技术演进。

技术现状

首先看看技术现状,HybirdDB for MySQL是一个HTAP数据,希望同时解决在线事务和在线分析的问题。现在主流的数据库,比如MySQL,它非常擅长于做一些高并发的事务云,比如电商交易,或者尽量少的多表关联,或者预见索引的业务。反之,有一些数据库非常适合于做一些对静态数据的强分析。如果用户需要同时使用这两种业务,在现有技术方案解决下,需要事务处理库做事务类业务,需要分析类数据库做分析业务,这样无形当中会增加用户的成本,管理起来也非常的复杂。

2013年时团队看准了这个目标,希望帮助用户把这个问题解决掉,支撑更大的数据规模。在这个理念的支撑下就开始了HTAP数据库的研究。在数据规模变得非常大的情况下,成本也是非常值得考量的问题,在设计过程中项目兼顾了数据压缩,在线上观察到实际的业务,数据库能够做到3-15天压缩比。目前世界上最流行的几个数据库,比如MySQLOracle等等,它流行的并不是功能特性,而是通用的接口模式。但是,HybirdDB for MySQL并没有牺牲这方面的能力,它能够提供和MySQL一样的访问接口,帮助用户对业务做无缝的迁移。

产品现在支持SQL标准、TPC-HTPC-DS几个分析型的测试。作为RDS级云服务中一员,它同样支持RDS的云服务,比如高可靠、高可用、白名单、性能数据。在线扩容、备份恢复,这需要比较大的技术挑战。对于阿里云生态下的数据库,同时还支持DTSDMSCDPQuickBI等生态产品,可以帮助解决包括数据交换、数据操纵等多方面的问题。现在HybirdDB for MySQL的规模已经支持了国内外数十个Region,包括美洲、德国等,还有国内的北京、上海、杭州等等。目前,线上数据已经达到了PB级,每天新增几百TB级数据,供给多个阿里云比较著名的业务去做实时分析和实时的处理。

产品定位

既然是一个混合型的数据库产品,HybirdDB for MySQL就需要在OLTPOLDP两方面做性能和功能的扩展。在性能方面,HybirdDB for MySQL利用了分区自治,每个分区可以独立提供局部数据的业务,又能整体做数据的聚合、事务的聚合,提供跨区分布式的事务和分布式数据结算能力。和国内外知名数据库对比,可以看到每个数据库的定位。高并发的在线事务有一定局限,会在OLAP方面有所限制。HybirdDB for MySQL综合考虑了这几方面的因素,在架构上有很大的改进,同时解决了这几方面的问题。

技术演进

30142298ce1256211752398db6228c2bb66a7260

HybirdDB for MySQL整个产品的立项是在2013年,这时候遇到的主要问题是单机数据库的性能容量都不满足日益增长的业务需求,这时候就从中间件的思路去出发。在这个基础之上,从2014年到现在产品每年都提出了一些新的改进:比如说在2014年把中间件思路摒弃掉,改成了完整的数据库思路,解决了用户兼容性的问题;到2015年考虑到大数据降低成本,降低门槛,让更多用户参与到大数据的领域来;到2016年做了计算存储分离,这一年也做了产品公测,产品已经比较完善了,解决了单机MySQL解决不了的SQL;到了2017年,产品在OLAP方面做了更进一步的改进,引入了列存索引。在明年会做更进一步的技术革新,包括融合POLARDB作为存储引擎,更进一步提高事务能力。

1240f8cbf0924c4ce42901c95b1f713a2125ef73

在这个过程中,产品不断满足用户业务的需求,成长到现在的形态。如果对MySQL数据库了解比较多的话,会感知到它只能部署在一台机器上,因为它的存储引擎只能利用单机资源。再说说存储引擎方面,比如ADB有很多锁,这些锁会进一步限制它的并发吞吐能力,导致整机吞吐和数据处理能力下降。我们线上观察得知,MySQL性能最合适的情况下是30-50个并发连接,ALDP并发连接可以高达几千、上万。传统数据库问题会限制它在大数据领域的能力发挥,因此借鉴了分库分表中间件,就是把这些数据切开,每个数据利用业务的特性,管理和处理这些数据。中间件也会有些比较明显的局限,因为它要嵌入到用户业务代码里,它的通用性用得很好,每个用户访问中心件时就需要自己定这套业务代码。

ea1e3f4856822d6c147e5b84c5e15d4afd94083d

同时由于中间件是套在数据库上的一层,用户也有可能直接操纵顶层的数据库,这时候就会考虑到并发的问题。一些典型的问题,比如中间件要去做DBL时就需要锁住,避免用户再从旁访问。锁表过程中,数据库性能会下降。考虑到这些局限性能的问题,产品在2014年做了更大幅度的改进,过程中也遇到了非常多的问题,尤其是事故处理。2014年对SQL本身要求并不是很高,只能支持一些比较简单的聚合SQL。一些更复杂的,比如说需要数据重新交易的,在这个阶段还没有去支持,它的实现复杂度会更加高。

039d1815c4bb9627e54a5efadb8880924dd90237 

到了2015年时面临了超大规模的数据业务,包括用户希望存储上PB级的数据。在这个场景下单机数据库最多也只能提供3T左右的流量,即使压缩单机也只能放十几个T,如果想保证不损坏重建,带来的挑战很大。当然它的收益也很明显,原来是在物理机存储数据,再压缩改进一下,只需要几台或者十几台单机。这个过程中面对的最大问题就是如何实现一套低成本的存储引擎体系,综合考虑软件和硬件的问题后产品最终选择了MySQL引擎。

2797517a397f4c4b7e59d1864778a1e84bc22934

439e170558335152ff7ee91a338b444c28caf8b4

此外产品在现有硬件体系结构上还应用了混合的存储,利用一块flash卡当做硬件的缓存,综合实行了一套软硬一体的混合存储。因为大的副本一旦损坏,迁移和损坏就相当于几T数据的搬迁。

当前限制

目前HybirdDB for MySQL还有一些存储限制,比如不支持高级特性、触发器、存储过程、游标、外键。有限的分区规则下,只支持哈希分区、只支持一个字段作为分区键以及二级分区有限支持。HybirdDB for MySQL也有不太适合的业务场景,比如数据量较小时热点无法完全消除,即使消除的话也需要一些代价,需要换一些字段做分区键。暂不适合的业务场景包括有:业务结构简单且数据量小,存在热点,可以采取CloudDBA诊断优化+ RDS升级;基于Oracle的复杂系统,包含大量存储过程,可以采取ADAM + PPAS去“O”;还有业务水平拆分后存在大量分布式事务,如转帐,并发上来之后可以解决吞吐量的问题,建议选择POLARDBScaleUp扩展。

未来展望

下一个阶段,产品需要解决的问题就是继续增强易用性,如支持存储过程、丰富索引格式、丰富二级分区特性、支持多种字符集、支持外部表、支持外部数据快速加载等,用户可以把更多计算逻辑下沉到数据库上,让它的开发变得更轻量级。另外需要增强安全性,在政企和金融业务中,安全特性是他们非常看中的。比如说SSL安全加密、TDE文件加密、自主访问控制等等,下一阶段也要解决这方面问题。下一步还将继续改进体验,坚持一贯的理念,提供一站式的服务,减少用户选型,降低用户成本。架构方面也要做更多的改进,如软硬结合、智能调度、OLAP持续优化等等。

b9589069f59a45e56c304d66558ae2a5ba42e6ee

架构方面将持续优化,发挥新一代硬件优势,包括引入资源的存储引擎,在共享存储上做一个全新的引擎出来,进一步改善存储性能,增强存储能力。使用共享存储之后就不用考虑备份、迁移方面的问题,因为底层共享存储会cover掉这个问题,到明年也可以支持更全面的HTAP业务场景内容。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
4天前
|
存储 分布式计算 关系型数据库
架构/技术框架调研
本文介绍了微服务间事务处理、调用、大数据处理、分库分表、大文本存储及数据缓存的最优解决方案。重点讨论了Seata、Dubbo、Hadoop生态系统、MyCat、ShardingSphere、对象存储服务和Redis等技术,提供了详细的原理、应用场景和优缺点分析。
|
9天前
|
SQL 存储 缓存
【赵渝强老师】MySQL的体系架构
本文介绍了MySQL的体系架构,包括Server层的7个主要组件(Connectors、Connection Pool、Management Service & Utilities、SQL Interface、Parser、Optimizer、Query Caches & Buffers)及其作用,以及存储引擎层的支持情况,重点介绍了InnoDB存储引擎。文中还提供了相关图片和视频讲解。
【赵渝强老师】MySQL的体系架构
|
7天前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
25 7
|
4天前
|
传感器 算法 物联网
智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建
随着城市化进程的加速,停车难问题日益凸显。本文深入剖析智能停车系统的关键技术,包括停车场电子地图编辑绘制、物联网与传感器技术、大数据与云计算的应用、定位技术及车辆导航路径规划,为读者提供全面的技术解决方案。系统架构分为应用层、业务层、数据层和运行环境,涵盖停车场室内导航、车位占用检测、动态更新、精准导航和路径规划等方面。
31 4
|
6天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用架构中的实践与思考
【10月更文挑战第38天】随着云计算的不断成熟和演进,云原生(Cloud-Native)已成为推动企业数字化转型的重要力量。本文从云原生的基本概念出发,深入探讨了其在现代应用架构中的实际应用,并结合代码示例,展示了云原生技术如何优化资源管理、提升系统弹性和加速开发流程。通过分析云原生的优势与面临的挑战,本文旨在为读者提供一份云原生转型的指南和启示。
19 3
|
8天前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
35 5
|
6天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####
|
10天前
|
Kubernetes Cloud Native 云计算
云原生技术深度解析:重塑企业IT架构的未来####
本文深入探讨了云原生技术的核心理念、关键技术组件及其对企业IT架构转型的深远影响。通过剖析Kubernetes、微服务、容器化等核心技术,本文揭示了云原生如何提升应用的灵活性、可扩展性和可维护性,助力企业在数字化转型中保持领先地位。 ####
|
11天前
|
存储 分布式计算 分布式数据库
风险数据集市整体架构及技术实现
【11月更文挑战第11天】在当今大数据时代,风险数据集市作为金融机构的核心基础设施之一,扮演着至关重要的角色。它不仅为银行、保险等金融机构提供了全面、准确的风险数据支持,还帮助这些机构实现了风险管理的精细化和智能化。本文将深入探讨一种基于大数据Lambda架构设计的风险数据集市整体架构,并详细介绍其底层实现原理及实现方式。
28 3

推荐镜像

更多