分布式HTAP数据库PetaData(HybridDB for MySQL) —— OLTP与OLAP一站式解决方案

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介:

一、前言

      在大数据推动行业发展的年代,大型企业级应用往往选择多种数据库产品,分别支持在线交易、报表生成、日志存储、离线分析等,用以驱动业务的高速发展,但这种组合式解决方案,需要精细的控制不同产品间的数据流转和一致性问题,使用难度颇高,每个数据库产品间的数据同步和冗余,也带来了很高的成本开销,进一步限制了企业级应用的发展。

      近年来Gartner提出了HTAP数据库概念,一个数据库既能支持OLTP(在线事务处理),又能支持OLAP(在线分析处理),涵盖大部分企业级应用的需求,一站解决这些问题。数据库云服务供应厂商,纷纷响应支持,企业级应用案例也如雨后春笋般涌现。

     HTAP数据库在架构上做了哪些创新,解决了哪些关键问题?又能为企业级应用降低哪些应用难度,减少哪些成本开销?本文将为您揭示HTAP数据库为大数据行业带来的新变化。

二、OLTP + OLAP vs. HTAP

      企业级应用的两个业务场景:在线交易和数据分析,是OLTP和OLAP的典型应用。在线交易对数据库的ACID特性有严格的要求,更关注数据库在低延迟、高并发方面的能力,数据分析对并发和延迟要求不高,反而更关注数据库的算法支持、容量、计算处理能力。在企业级应用的不同成长阶段,为这两类业务选择的技术有很大差别:

  1. 小型应用阶段:为了节省成本,企业选择将这两类业务放在同一个OLTP数据库中运行,在数据规模小时,可以运转的很好;
  2. 中型应用阶段:在数据规模上来时,会面临资源争抢的问题:分析业务会消耗数据库大量的cpu和io资源,影响到交易业务的延迟,最终使得每个业务都得不到很好服务。此时,企业选择了数据库读写分离和分时复用,一个主库用于交易,多个读库用于分析,且在线业务和离线业务分时复用;
  3. 大型应用阶段:数据规模进一步上升,单一的主库已经不能满足交易需求,读库也跑不动越来越复杂的分析SQL。此时,企业选择了分库分表和分析型数据库,利用分库分表中间件,拆分交易主库,水平扩展交易性能,同时将数据同步到OLAP数据库中,进行分析计算,做到彻底的资源隔离;
  4. 巨型应用阶段:数据规模再次上升,每次为OLTP数据库扩容都要消耗极大的人力物力,数据同步到OLAP数据库的时延和成本很高,使用时要为不同业务选择不同数据库入口,管理复杂度极大。此时,企业可以选择HTAP数据库进一步改善业务架构,降低成本,提升易用性,改善运维体验;


图1. 企业级应用的架构演进历程

      仔细分析这几个不同阶段可以发现,使用HTAP数据库云服务,便能省去企业的选型麻烦:

  1. 无论业务规模多大,企业使用HTAP数据库的方式,始终都与小型应用阶段相同,无需改变使用习惯;
  2. 业务规模扩大,企业也可以为HTAP数据库添加更多的计算存储资源,提升数据库的能力,以适应业务,每个阶段无需付出额外的成本;
  3. 企业无需关心数据库的运维,进一步减少了人力开销;

      阿里云提供的HybridDB for MySQL便是一款HTAP数据库云服务,兼容MySQL的协议、语法、生态,用户无需改变使用习惯,采用全自研的链路存储计算分离架构,可以满足不同业务规模的企业级应用需求,并与之共同成长。

三、HTAP数据库架构优势

      阿里云HybridDB for MySQL是松耦合分布式架构的HTAP数据库云服务,核心技术架构如下所示:

图2. 阿里云HybridDB for MySQL核心架构

1. 数据分区

      HybridDB for MySQL采用了数据分区的架构,分区间share nothing,从而支持线性扩容,链路、存储、计算分离,合理利用数据库的整体硬件资源,降低整体成本。

图3. 阿里云HybridDB for MySQL数据分区原理

      数据分区架构使得节点扩容变得更为简单,加减节点只涉及到局部的数据搬动,而且不影响业务使用。统一的链路入口,不会改变用户的使用习惯,一份存储,不会带来更多的成本,独立的计算资源,充分适应不同业务的计算需求。

2. 统一的数据库云服务

      在数据库云服务方面,HybridDB for MySQL与RDS for MySQL对齐,几个解决方案的综合对比如下:

 

HybridDB for MySQL

RDS for MySQL

OLTP+OLAP混合方案

访问入口

统一入口

统一入口

多点入口

ACID事务特性

全局ACID

全局ACID

组件间ACID

SQL兼容性

全局一致

全局一致

组件间兼容性不同

数据延迟

有同步延迟

稳定性

统一的稳定性保障

统一的稳定性保障

组件间稳定性不同

性能扩容

线性扩容

不支持线性扩容

线性扩容

计算功能扩展

多种计算功能扩展

不支持计算功能扩展

多种计算功能扩展

存储成本

一份存储

一份存储

多份存储

计算成本

一份计算

一份计算

多份计算

异构数据同步成本

数据同步成本较高

备份恢复

支持

支持

组件局部支持

监控

支持

支持

组件局部支持

表1. 阿里云HybridDB for MySQL与其他数据库服务的对比

3. 高可用

      HybridDB for MySQL全链路均有高可用设计,链路引擎、计算引擎为无状态设计,副本扩增可以带来更高的可用性,存储引擎为一主多备半同步复制的存储引擎,数据库本身也支持实时备份,并支持按备份集恢复。

图4. 阿里云HybridDB for MySQL高可用架构

四、应用场景

      HTAP数据库,常用于混合业务场景,以综合能力著称,可以替代大部分OLTP、OLAP数据库混用的技术架构,实际的应用场景可见下文。

1. 分库分表+实时分析

      企业级应用的最典型业务为在线交易和数据分析,使用HTAP数据库能有更多的收益:

  1. 在线交易业务使用单机数据库+分库分表中间件,而HTAP数据库的水平分区架构,天然兼容分库分表中间件的业务场景,企业级用户无需再关心底层单机数据库的运维问题;
  2. 数据分析业务使用数据同步+大数据处理平台,HTAP数据库支持直接对数据进行分析处理,且不影响在线业务,在时效性和成本方面,有很大的优势;


图5. 分库分表+实时分析业务使用HTAP数据库

2. 物联网实时数据处理

      物联网大数据应用,具有海量的传感器数据,实时更新和查询需求,非常密集,对数据库的性能要求很高。使用HTAP数据库,能够获得KV数据库的读写性能,NoSQL数据库的容量,OLTP关系数据库的多位查询能力,以及OLAP数据库的复杂分析能力。

图6. 物联网业务使用HTAP数据库

3. 实时数据仓库

      数据仓库通常仅允许导入,并且是只读的,不允许实时更新,使用模式是将一批完整的数据导入到数据仓库中,然后利用数据仓库的计算和存储能力,进行各种维度的计算。通俗点讲,数据仓库存储的数据通常是“二手数据”,一般由关系数据库的“一手数据”生成,进入数据仓库的数据,对齐在事务边界。

      对于某些时效性要求极高的大数据业务,Hadoop+MapReduce甚至是Spark都无法满足低延时大数据服务的需求,此时可以选择HTAP数据库,既支持批量导入原始数据,进行实时聚合分析,又支持实时从大数据处理平台上同步结果,充当高性能缓存和二级数仓,提升企业级应用的整体响应能力。此外,HTAP数据库也能直接生成实时报表,进一步提升HTAP数据库在大数据业务的应用范围。

图7. 实时数据仓库业务使用HTAP数据库

五、后记

      随着业务的爆炸式增长,越来越多的企业,需要重量级的数据库产品和更好的服务,来避免技术架构成为企业的瓶颈,从而解放企业,以更专注于核心业务。

      阿里云的创新产品HybridDB for MySQL,是阿里云全自研的HTAP数据库产品,紧贴企业级用户的需求,为企业级应用带来了新的选择,也体现了阿里云在数据库行业的技术实力和自研决心,HybridDB for MySQL会为用户带来更好的数据库服务体验。

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
关系型数据库 MySQL Java
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
385 0
|
10月前
|
关系型数据库 MySQL 数据库连接
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
2051 82
|
9月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
9月前
|
监控 Java 关系型数据库
Spring Boot整合MySQL主从集群同步延迟解决方案
本文针对电商系统在Spring Boot+MyBatis架构下的典型问题(如大促时订单状态延迟、库存超卖误判及用户信息更新延迟)提出解决方案。核心内容包括动态数据源路由(强制读主库)、大事务拆分优化以及延迟感知补偿机制,配合MySQL参数调优和监控集成,有效将主从延迟控制在1秒内。实际测试表明,在10万QPS场景下,订单查询延迟显著降低,超卖误判率下降98%。
429 5
|
关系型数据库 MySQL 索引
MySQL in 太多的解决方案
MySQL in 太多的解决方案
1434 0
|
10月前
|
关系型数据库 MySQL OLAP
无缝集成 MySQL,解锁秒级 OLAP 分析性能极限,完成任务可领取三合一数据线!
通过 AnalyticDB MySQL 版、DMS、DTS 和 RDS MySQL 版协同工作,解决大规模业务数据统计难题,参与活动完成任务即可领取三合一数据线(限量200个),还有机会抽取蓝牙音箱大奖!
|
监控 关系型数据库 MySQL
MySQL自增ID耗尽应对策略:技术解决方案全解析
在数据库管理中,MySQL的自增ID(AUTO_INCREMENT)属性为表中的每一行提供了一个唯一的标识符。然而,当自增ID达到其最大值时,如何处理这一情况成为了数据库管理员和开发者必须面对的问题。本文将探讨MySQL自增ID耗尽的原因、影响以及有效的应对策略。
632 3
|
存储 监控 关系型数据库
MySQL自增ID耗尽解决方案:应对策略与实践技巧
在MySQL数据库中,自增ID(AUTO_INCREMENT)是一种特殊的属性,用于自动为新插入的行生成唯一的标识符。然而,当自增ID达到其最大值时,会发生什么?又该如何解决?本文将探讨MySQL自增ID耗尽的问题,并提供一些实用的解决方案。
517 1
|
关系型数据库 MySQL 数据库
一个 MySQL 数据库死锁的案例和解决方案
本文介绍了一个 MySQL 数据库死锁的案例和解决方案。
836 3
|
存储 Java 关系型数据库
JPA不识别MySQL枚举类型的解决方案
在JPA中处理MySQL的枚举类型,需要在实体类与数据库之间进行适当的转换。可以选择使用 `@Enumerated`注解、实现自定义的转换器,或者使用原生SQL查询来解决JPA不直接支持MySQL枚举类型的问题。选择最佳方案时,应考虑项目的具体需求和架构。通过正确的映射和转换,可以确保JPA与MySQL数据库间高效且安全的数据交互。
406 6

推荐镜像

更多