`

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

阅读更多

摘要: 某知名企业的集团任务中心,为了保障在线数据库的性能和容量,降低总体数据存储成本,避免离线数据的使用影响在线数据的使用,希望将线上业务系统早期生成的数据转移到离线库进行保存。同时,离线海量数据对于业务分析和未来业务规划又有非常重要的价值,需要不定期的进行数据分析。迫切需要进行在线离线数据的分离。

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

对你是否有帮助,赶快查看详情
原文链接

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics