在过去三年里产生的数据量比以往四万年的数据量还要大。大数据可以来自方方面面,从日常生活购物到社交网络,从地理位置定位到在线视频都会有大量的数据。云计算的蓬勃发展,进一步催生了大数据的价值。廉价的存储和计算,高效的海量数据处理,我们已经进入了“大数据时代”。今天,移动、交易、广告、社会化游戏、在线传感器以及工业传感器数量在迅猛增长,数据规模给传统技术带来了很大的挑战。随着规模的不断增长传统软件无法解决EB级大数据处理带来的性能和成本方面的挑战。
当企业MySQL/RDS业务数据规模增长到一定阶段,比如单表数据量达到上亿,就会出现计算性能和存储成本问题。水平拆表?垂直拆表?一般业务型的研发团队,很难有额外的精力投入到数据库方面,也没有专业的DBA来不断调优数据库配置、优化数据库服务器性能。所以,采用新的技术方案是最有效的方法。
MaxCompute2.0是一项提供快速、完全托管的EB级数据仓库解决方案的大数据计算服务,可以高效并经济的分析处理海量数据。MaxCompute是阿里巴巴内部和阿里云的大数据旗舰平台,阿里巴巴近99%的数据存储以及95%的计算能力都在这个平台上产生。在计费方面,存储一亿条数据,每条100B,则数据量约0.1G*100B= 10G。10G数据,按照MaxCompute 官方给出的1:3压缩率,存放在MaxCompute每月只要支付2元多钱。如果10GB数据全部参与排序计算,每次SQL计算最低只要支付3元钱。计费标准参考 https://help.aliyun.com/document_detail/27989.html
那么如何将MySQL/RDS数据迁移到MaxCompute上,搭建数据仓库?接下来,我向大家介绍几款工具,通过实战帮助大家更快完成目标。
前提条件:开通MaxCompute;开通教程参考 https://help.aliyun.com/document_detail/58226.html
数据上云篇
实时同步工具-DTS(收费,支持自建MySQL和RDS)
数据传输(Data Transmission)服务DTS是阿里云提供的一种支持RDBMS(关系型数据库)、NoSQL、OLAP等多种数据源之间数据交互的数据服务。它提供了数据迁移、实时数据订阅及数据实时同步等多种数据传输能力。
- 创建RDS for Mysql数据实时同步到MaxCompute,实现原理如下:
如上图所示,整个同步过程分为两步:
- 全量初始化, 这个步骤将RDS MySQL中已经存在的全量数据初始化到MaxCompute中。对于同步的每个表,全量初始化的数据都会独立存储在MaxCompute中的全量基线表中,这个表的默认格式为:源表名_base。例如表 t1,那么全量基线表在MaxCompute中存储的表名为:t1_dts_base。这个存储表名前缀可以根据需要变更,您可以在配置任务时,修改表在MaxCompute存储的名称。
- 增量数据同步,这个步骤将RDS MySQL产生的增量数据数据实时同步到MaxCompute中。并存储在增量日志表中,每个同步表对应一个增量日志表。增量日志表在MaxCompute中存储的表名的默认格式为:源表名_log。这个存储表名前缀可以根据需要变更,您可以在配置任务时,修改表在MaxCompute存储的名称。
离线同步工具-DataWorks数据集成(公测,支持自建MySQL和RDS)
数据集成,是阿里集团对外提供的稳定高效、弹性伸缩的数据同步平台。致力于提供复杂网络环境下、丰富的异构数据源之间数据高速稳定的数据移动及同步能力。
离线(批量)的数据通道主要通过定义数据来源和去向的数据源和数据集,提供一套抽象化的数据抽取插件(称之为 Reader)、数据写入插件(称之为 Writer),并基于此框架设计一套简化版的中间数据传输格式,从而达到任意结构化、半结构化数据源之间数据传输的目的。
总结,通过上述两种方法,可以帮助企业快速将RDS/MySql数据同步到MaxCompute中,接下来,用户可以通过DataWorks和MaxCompute Studio来进行日常的开发、数据调度。
华北2(北京)Region MaxCompute购买地址:https://common-buy.aliyun.com/?commodityCode=odpsplus#/buy
欢迎加入“数加·MaxCompute购买咨询”钉钉群(群号: 11782920)进行咨询,群二维码如下: