一步即可,阿里云数据湖分析服务构建MySQL低成本分析方案
数据湖分析(Data Lake Analytics,简称DLA) 是Serverless化的交互式联邦查询服务。使用标准SQL即可分析与集成对象存储(OSS)、数据库(PostgreSQL/MySQL等)、NoSQL(TableStore等)数据源的数据。
https://cn.aliyun.com/product/datalakeanalytics?aly_as=bX_ZThXyu
用户福利
欢迎新用户1元抢购原价280元的DLA 10TB包:https://common-buy.aliyun.com/?commodityCode=openanalytics_post
方案背景
需求场景一
MySQL数据库大量应用在各种业务系统,除了在线业务逻辑的读写,还会有一些额外的数据分析需求,如BI报表、可视化大屏、大数据应用等。随着业务的发展,单机MySQL数据库达到一定的数据量后,直接使用MySQL做数据分析性能比较差,而且会影响在线业务的读写性能。这种情况下就需要寻求新的数据分析方案。
需求场景二
MySQL中的数据需要和日志数据做联合分析,这种场景下有些公司会使用开源的大数据系统(如Hive,Hadoop,Spark等)搭建数据仓库,这个方法虽然能解决问题,但它所需的人力成本和服务器等资源成本却是最高的。如何才能低成本的把MySQL与其他系统的数据做联合分析?
需求场景三
当MySQL中数据量超过单机性能后,为了保证在线业务性能,DBA通常会采用分库分表技术,将一个数据库中的单张表数据拆分到多个数据库的多张表中。由于一个逻辑表被拆成多张表,这时候如果要进行数据分析,将会变得十分复杂。需要新的分析方案来解决。
方案评估因素
MySQL分析场景中,如果要解决上述三个场景问题,主要考虑的因素有哪些?如果有多种解决方案,应该如何选择?可以参考以下几个关键因素。
- 方案易用性:是否易用,是否易维护,是否稳定是首先需要考虑的问题。
- 分析能力:是否有更强的数据分析能力和性能,即使随着数据越来越大,分析能力也不会减弱。
- 成本:在分析场景,要尽可能降低成本,无论是人工成本,还是机器等资源成本。
- 源库影响:数据分析通常会扫描较大的数据量,分析过程是否会影响在线业务的读写性能及稳定性。
方案选择
针对MySQL数据的分析场景,有多种解决方案,包括直接在MySQL只读实例上分析、自建开源数据仓库和数据湖构建方案。下面让我们详细看看这些方案的优缺点。
基于MySQL只读实例分析
通过额外购买服务器搭建MySQL只读备库实例,然后基于只读实例做数据分析。这个方案的优缺点:
-
缺点:
- 功能不能无法满足需求场景二和场景三,即使针对需求场景一,当数据量增大时(参考下文TPC-H 10G SQL耗时),基于只读实例的分析性能会非常差。
- 成本较高:额外购买的只读实例成本也比较高。
- 优点:方案简单,能防止对在线业务产生影响。
自建开源数据仓库
使用开源大数据系统(如Hive,Hadoop,Spark等)搭建数据仓库,然后同步MySQL数据到数据仓库,再基于Spark或Hive进行数据分析。
-
缺点:
- 易用性差:开源大数据系统使用门槛比较高,需要专门的大数据工程师来操作和运维;此外Sqoop同步不支持表结构变更,增加和删除列都会导致同步失败。
- 成本最高:另外还需要额外购买服务器搭建系统,增加了硬件成本,这个方案整体成本最高。
- 优点:能解决需求场景一和二的问题,分析性能较好。
数据湖构建方案
基于阿里云数据湖分析构建方案,它能完美的解决低成本分析MySQL数据的需求。
-
优点:
- 方便易用:使用一键建仓可以很轻松把整个数据库同步到数据湖。
- 分析能力强:数据湖分析(Data Lake Analytics)与MySQL体验完全相同,数据量增加对分析性能几乎没有影响。
- 成本极低:不需要购买服务器,按查询量计费,无查询不收费;无维护成本。
- 对源库影响:数据分析对在线业务无影响。
数据湖构建方案评测数据及技术原理
接下来让我们详细看一下数据湖构建方案的评测数据和技术原理。
易用性
- 支持丰富数据源
阿里云数据湖分析构建方案,支持丰富的数据源,包括自建的MySQL、SQLServer、PostgreSQL、Oracle、云数据库RDS、PolarDB、ADB等。与传统的数据仓库相比,它的设计目标是"简单",让用户通过简单的配置就能实现数据同步到DLA,真正实现"一键"建仓。
- 自动同步保持数据一致
数据湖构建支持自动同步更新的数据,也能自动同步包括创建表,删除表,新增列、修改列、删除列等元数据操作。在分库分表的场景中,数据湖构建能把一张分布在多个数据库的逻辑表合并到一张表中,实现基于一张表做数据分析。此外数据湖构建支持同步的表数量无上限限制。
低成本高性能
- 低成本
下面是成本的对比,额外购买一台高性能RDS(MySQL数据库)包月费用需2344元;以TPC-H 10G为例,如果每天执行一次TPC-H的22条SQL,使用DLA一个月的费用只需要26.64元,平均每天不到1元。只需1%的成本就能获取高性能的分析。下面是成本的明细。
- 高性能
数据湖构建把数据从源数据库同步后,使用列式+压缩的方式存储,以TPC-H 10G的数据为例,存储在MySQL将消耗大约20G存储,但使用列式+压缩方式存储只消耗约3G存储。使用阿里云数据湖分析(DLA)分析,能以极低的成本获得高效的分析,再次以TPC-H 10G的数据为例,TPC-H的22条SQL在DLA执行耗时平均为5.5s,在MySQL中平均耗时为345.5s,且有4条SQL跑不出来,下图TPC-H 10G 22条SQL在MySQL和DLA的耗时对比。
对源库影响低
基于数据湖分析查询对源库完全无影响;在数据湖从源库同步数据时,对源库的影响也保证在10%以内。下图是数据湖构建针对不同规格源数据库启动的连接数与源库的CPU消耗:随着机器规格增大,连接数会自动增加,最终源库的平均CPU消耗都在10%以内。
为了尽量减低同步对源数据库的影响,数据湖构建做了大量的优化。包括:
- 数据湖构建会自动根据源数据库的机器规格,动态调整连接数,能保证对源数据库的压力在10%以内。
- 在并发同步一张表时,优先选择索引列做切分,通过索引快速定位一段数据范围,减小同步对源数据库的影响。
- 数据湖构建默认选择业务低谷做数据同步,防止影响线上业务。
最终实现对源库的压力几乎可以忽略。如果用户希望加快同步速度,也可以手动增加连接数加快同步速度。
增量构建
数据湖分析(DLA)团队正在研发数据湖增量构建以支持增量模式同步源库数据,能完全消除对源库产生的影响;并且能大大提升数据分析的时效性。增量构建将于近期发布上线,敬请期待。
数据湖构建MySQL低成本分析方案使用
如果你希望试用数据湖分析构建MySQL低成本分析,只需要以下步骤即可开通试用。(文档详见https://datalakeanalytics.console.aliyun.com/cn-hangzhou/solutions)
1、登录Data Lake Analytics管理控制台。在页面左上角,选择DLA所在地域。
2、在左侧导航栏单击解决方案。在解决方案页面,单击一键建仓中的进入向导。
3、根据页面提示,进行参数配置。
4、完成上述参数配置后,单击创建,就可以开始使用数据湖愉快的分析了。
欢迎加入
欢迎扫描下面的二维码加入“数据湖分析”交流群进一步沟通。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
有黑客曾入侵中国网络,窃取新冠疫情情报?如今安全公司扒出真相
即将开播:4月29日,民生银行郭庆谈商业银行金融科技赋能的探索与实践 新冠疫情肆虐全球的当下,各国本应携手对抗病毒,然而总有一些国家想借疫情火中取栗。近日美国网络安全公司“火眼”就曝光了一起网络窃取中国新冠疫情信息的事件。 该公司称,越南黑客组织“APT32”受官方支持,试图入侵中国应急管理部门以及武汉政府的网络,窃取新冠疫情情报。此事经美媒报道后,越南外交部予以了极力否认。 然而与此同时,中方也对越方进行了谴责,此举不由得怀疑,越南方面确有此行为。 实际上,越南近期以来也确实不老实:自从成为东盟轮值主席国后,越南一直都不断在南海问题上兴风作浪。而除了南海问题,越南还试图在制造业转移上对中国发起挑战。借助美国发起的贸易战,越南通过各国的资产和产业转移的确充实了国力,甚至其国内有呼声认为“越南有望代替中国”,成为新的世界工厂。 这些高度评价和全球资产的动向让越南信心倍增,反过来在南海问题上也愈发不满足于“搁置争议、共同开发”。例如在中国成立三沙市期间,越南就不断炒作此事,并派遣大量渔船对中国的海警船与科考船进行跟踪甚至冲撞。 种种举措都瞄准中国,再加上如今的“越南黑客事件”,越南在背后的...
- 下一篇
手把手教你使用Python抓取QQ音乐数据(第四弹)
【一、项目目标】 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名、专辑名、播放链接。 通过手把手教你使用Python抓取QQ音乐数据(第二弹)我们实现了获取 QQ 音乐指定歌曲的歌词和指定歌曲首页热评。 通过手把手教你使用Python抓取QQ音乐数据(第三弹)我们实现了获取更多评论并生成词云图。 此次我们将将三个项目封装在一起,通过菜单控制爬取不同数据。 【二、需要的库】 主要涉及的库有:requests、openpyxl、html、json、wordcloud、jieba 如需更换词云图背景图片还需要numpy库和PIL库(pipinstall pillow) 如需生成.exe需要pyinstaller -F 【三、项目实现】 1.首先确定菜单,要实现哪些功能: ①获取指定歌手的歌曲信息(歌名、专辑、链接) ②获取指定歌曲歌词 ③获取指定歌曲评论 ④生成词云图 ⑤退出系统 代码如下: class QQ(): def menu(self): print('欢迎使用QQ音乐爬虫系统,以下是功能菜单,请选择。\n') ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音