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

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

本文将重点介绍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硬盘存储供用户选择,极大减少了数据存储的成本。

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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
26天前
|
安全 关系型数据库 MySQL
如何将数据从MySQL同步到其他系统
【10月更文挑战第17天】如何将数据从MySQL同步到其他系统
148 0
|
1月前
|
SQL 前端开发 关系型数据库
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
47 0
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
|
8天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
114 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
8天前
|
缓存 NoSQL 关系型数据库
Redis和Mysql如何保证数据⼀致?
在项目中,为了解决Redis与Mysql的数据一致性问题,我们采用了多种策略:对于低一致性要求的数据,不做特别处理;时效性数据通过设置缓存过期时间来减少不一致风险;高一致性但时效性要求不高的数据,利用MQ异步同步确保最终一致性;而对一致性和时效性都有高要求的数据,则采用分布式事务(如Seata TCC模式)来保障。
42 14
|
11天前
|
SQL 前端开发 关系型数据库
SpringBoot使用mysql查询昨天、今天、过去一周、过去半年、过去一年数据
SpringBoot使用mysql查询昨天、今天、过去一周、过去半年、过去一年数据
43 9
|
9天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
27 3
|
8天前
|
存储 监控 关系型数据库
MySQL自增ID耗尽解决方案:应对策略与实践技巧
在MySQL数据库中,自增ID(AUTO_INCREMENT)是一种特殊的属性,用于自动为新插入的行生成唯一的标识符。然而,当自增ID达到其最大值时,会发生什么?又该如何解决?本文将探讨MySQL自增ID耗尽的问题,并提供一些实用的解决方案。
15 1
|
23天前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:百万级数据统计优化实践
【10月更文挑战第21天】 在处理大规模数据集时,传统的单体数据库解决方案往往力不从心。MySQL和Redis的组合提供了一种高效的解决方案,通过将数据库操作与高速缓存相结合,可以显著提升数据处理的性能。本文将分享一次实际的优化案例,探讨如何利用MySQL和Redis共同实现百万级数据统计的优化。
59 9
|
23天前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
|
19天前
|
SQL 关系型数据库 MySQL
定时任务频繁插入数据导致锁表问题 -> 查询mysql进程
定时任务频繁插入数据导致锁表问题 -> 查询mysql进程
38 1

相关产品

  • 云数据库 RDS MySQL 版