HybridDB for MySQL 实现在线与离线数据分离的实践

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 某知名企业的集团任务中心,为了保障在线数据库的性能和容量,降低总体数据存储成本,避免离线数据的使用影响在线数据的使用,希望将线上业务系统早期生成的数据转移到离线库进行保存。同时,离线海量数据对于业务分析和未来业务规划又有非常重要的价值,需要不定期的进行数据分析。迫切需要进行在线离线数据的分离。

本文将重点介绍HybridDB for MySQL 实现在线与离线数据分离的实践,特别推荐!

核心业务简介


任务中心汇聚了集团的所有工作流任务,并提供统一的入口给用户处理集团的工作任务。


TB1aYudRVXXXXapXXXXXXXXXXXX-991-916.png

面临主要问题


1、单表存储量超高目前已有4千万的数据,并且在急速的增长。预计年增长在200%以上。 
2、业务需要大范围的查询由于业务需要查询多张表,比如查询在线,再查离线表。而且频率和复杂度在提升。会导致慢sql的出现。


如何架构改造


在线数据与离线数据隔离,在数据访问层面不相互影响 
在线数据到离线数据必须实时同步,保障高稳定性 
定时清理在线表的离线数据。保证在线存储的合理使用,保证数据从产生到移除的闭环过程。 
保证离线存储容量问题,离线数据不会清除,所以需要有合理的机制或充足的空间来保证离线数据的存储。
离线数据太多的情况下,要保证数据查询的效率,不能太慢。

这个过程进行了多种技术方案的调研。最终选择了基于 HybridDB for MySQL 的在线离线数据分离。

选型产品优点

  • 1、能解决在线数据过多的问题
  • 2、能解决在线与离线同一个库离线影响在线的问题
  • 3、在阿里云上使用比较多,方案成熟
  • 4、基本完全兼容MySQL
  • 5、通过DTS同步,保证数据的可靠性、实时性
  • 6、存储是线性扩展,不用担心存储容量问题
  • 7、hybridDB是新型的HTAP(事务与分析一体)关系数据库,适合日志、消息轨迹、历史等数据的存储

对比性能


参考数据量查询扫描行数的对比
TB1r8h_RVXXXXbZXpXXXXXXXXXX-500-136.png

从上图来看,小数据量的SQL,MySQL响应快于HybridDB,随着数据量的增加,MySQL的性能远不如HybridDB。 
所以,在小数据量的SQL推荐MySQL,超过千万的数据量查询,推荐使用HybridDB for MySQL。

HybridDB for MySQL


她是同时支持在线事务(OLTP)和在线分析(OLAP)的关系型 HTAP 类数据库。
HTAP是Hybrid Transaction/Analytical Processing的简写,意为将数据的事务处理(TP)与分析(AP)混合处理,从而实现对数据的实时处理分析。

1、HybridDB for MySQL采用一份数据存储来进行OLTP和OLAP处理,解决了以往需要把一份数据进行多次复制来分别进行业务交易和数据分析的问题,极大的降低了数据存储的成本。 
2、因为采用一份数据,HybridDB for MySQL免去了以往在线数据库(Operational Database)和数据仓库(Data Warehouse)之间的海量数据加载过程,极大的缩短了数据分析的延迟,使得实时分析决策系统成为可能。 
2、HybridDB for MySQL兼容MySQL的语法及函数,并且增加了对Oracle常用分析函数的支持,100%完全兼容TPC-H和TPC-DS测试标准,从而降低了用户的开发、迁移和维护成本。

主要使用场景


1、大数据存储与分析:可以基于一份数据进行事务(OLTP)与分析(OLAP)混合处理,免去了在线数据库和离线数据仓库之间海量数据的复制、传输、加载和存储。 
2、物联网:物联网有着数据采集点多、数据总量大、并发高的应用特点,往往需要使用分库分表和相应的数据分发技术才能承担业务流量。他分布式架构屏蔽了分库分表的细节,只对用户提供一个数据库连接地址和相应的逻辑库表,让用户的开发和运维成本降低到最低。 
3、历史数据: HybridDB for MySQL可存储海量的历史数据(最高可达到PB级),并且可以通过数据压缩来进一步节省存储空间,另有价格低廉的普通HDD硬盘存储供用户选择,极大减少了数据存储的成本。

对你是否有帮助,赶快查看详情

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
9237
分享
相关文章
SpringBoot 通过集成 Flink CDC 来实时追踪 MySql 数据变动
通过详细的步骤和示例代码,您可以在 SpringBoot 项目中成功集成 Flink CDC,并实时追踪 MySQL 数据库的变动。
127 43
MySQL底层概述—4.InnoDB数据文件
本文介绍了InnoDB表空间文件结构及其组成部分,包括表空间、段、区、页和行。表空间是最高逻辑层,包含多个段;段由若干个区组成,每个区包含64个连续的页,页用于存储多条行记录。文章还详细解析了Page结构,分为通用部分(文件头与文件尾)、数据记录部分和页目录部分。此外,文中探讨了行记录格式,包括四种行格式(Redundant、Compact、Dynamic和Compressed),重点介绍了Compact行记录格式及其溢出机制。最后,文章解释了不同行格式的特点及应用场景,帮助理解InnoDB存储引擎的工作原理。
MySQL底层概述—4.InnoDB数据文件
MySQL进阶突击系列(09)数据磁盘存储模型 | 一行数据怎么存?
文中详细介绍了MySQL数据库中一行数据在磁盘上的存储机制,包括表空间、段、区、页和行的具体结构,以及如何设计和优化行数据存储以提高性能。
MySQL 索引优化与慢查询优化:原理与实践
通过本文的介绍,希望您能够深入理解MySQL索引优化与慢查询优化的原理和实践方法,并在实际项目中灵活运用这些技术,提升数据库的整体性能。
182 5
mysql怎么查询longblob类型数据的大小
通过本文的介绍,希望您能深入理解如何查询MySQL中 `LONG BLOB`类型数据的大小,并结合优化技术提升查询性能,以满足实际业务需求。
180 6
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
205 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####
mysql分页读取数据重复问题
在服务端开发中,与MySQL数据库进行数据交互时,常因数据量大、网络延迟等因素需分页读取数据。文章介绍了使用`limit`和`offset`参数实现分页的方法,并针对分页过程中可能出现的数据重复问题进行了详细分析,提出了利用时间戳或确保排序规则绝对性等解决方案。
130 1
Redis和Mysql如何保证数据⼀致?
在项目中,为了解决Redis与Mysql的数据一致性问题,我们采用了多种策略:对于低一致性要求的数据,不做特别处理;时效性数据通过设置缓存过期时间来减少不一致风险;高一致性但时效性要求不高的数据,利用MQ异步同步确保最终一致性;而对一致性和时效性都有高要求的数据,则采用分布式事务(如Seata TCC模式)来保障。
88 14

相关产品

  • 云数据库 RDS MySQL 版
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等