通过日志服务实现数据库MySQL入湖OSS实践

2022-05-10 04:38 66 浏览

目标读者

需要将MySQL数据导入SLS或者OSS进行分析和存储的开发运维人员。

方案背景

日志服务(SLS)是云原生观测分析平台,为Log/Metric/Trace等数据提供大规模、低成本、实时平台化服务。一站式提供数据采集、加工、分析、告警可视化与投递功能。阿里云提供了企业级的数据湖解决方案,存储层基于阿里云对象存储OSS构建。日志服务支持开箱即用的OSS投递入湖功能,实现数据的端到端的入湖。

本文主要介绍如何借助日志服务将关系型数据库MySQL数据入湖和实践,并介绍数据在入湖之前可以日志服务可以提供哪些开箱即用的功能。

入湖流程

日志服务中数据库MySQL入湖流程主要包括数据导入和数据投递两部分,日志服务在其中充当了数据通道和数据处理(ETL)的角色,借助日志服务的角色功能,可以为入湖提供更多附加的价值。

方案架构

方案架构介绍

MySQL作为一种关系型数据库,往往存储了企业核心的业务数据。典型的电商属性的企业系统会有供应商表、库存表、订单表、用户表等数据;社区属性的企业系统会有用户表、文章表、评论表等。随着业务的发展数据量往往变得非常庞大,MySQL作为一种OLTP数据库,擅长事务的处理,在海量数据下,对商务运营查询分析统计能力的需求并不友好,往往需要将数据导入到OLAP中进行分析统计。

日志服务提供了一站式数据接入能力,支持各类数据源的接入,本文主要介绍MySQL数据如何进行接入。

随着企业上云的数量越来越多,很多的企业直接使用了云上数据库,比如阿里云提供的RDS数据库,也有一些企业依然使用自建数据库,日志服务的MySQL数据导入提供了对两种部署形态的数据库的支持。

自建数据库

自建数据库主要包括在ECS上自建的数据库或者客户环境部署的数据库,对于ECS自建数据库,往往是部署在VPC网络下,日志服务提供了直接通过VPC链接ECS自建数据库的能力。对于云下环境部署的数据库,出于安全考虑一般不会提供公网的访问链接,可以使用SLS的Logtail插件进行MySQL数据的导入,对于Logtail采集MySQL数据可以参考《采集MySQL查询结果》,这了不在赘述。

RDS数据库

对于RDS数据库,日志服务数据接入提供了原生的网络连通能力,支持直接在VPC网络下的连通,不走公网流量,VPC方式是比较推荐的使用方式。

方案优势

日志服务提供了一站式的数据接入、加工、分析、告警可视化、数据投递等功能,在入湖之前还可以对数据进行更多价值的挖掘,下面举些列子来看下日志服务可用做些什么。

高性能、全功能查询分析能力

日志服务除了提供海量数据的存储之外,也提供了高性能数据的查询分析能力,支持秒级处理十亿级数据。

  • 支持灵活的分析语法,支持SQL92语法,与MySQL的数据查询无缝切换。使用参考分析概述。

  • 对于数据量巨大的情况,日志服务提供了独享SQL,支持千亿级数据的高性能分析。适合分析性能要求高的场景、大规模业务数据分析场景、长周期数据分析场景。可以有效的弥补MySQL分析数据能力不足。

  • 提供了丰富的内置机器学习函数,可以通过机器学习函数调用机器学习算法,分析某一字段或若干字段在一段时间内的特征。

  • 支持Scheduled SQL,支持对海量数据的Roll Up。使用可以参考Scheduled SQL。

数据加工

日志服务提供可托管、可扩展、高可用的数据加工服务。数据加工服务可用于数据的规整、富化、流转、脱敏和过滤。通过数据加工可以完成数据规整、数据分派、数据融合等场景下数据处理。

可视化

日志服务提供了丰富的可视化功能,支持创建仪表盘、统计报表、和第三方可视化工具。通过SQL查询出的结果,选择合适的统计图表类型来展示分析结果。

仪表盘作为图表的聚合容器,支持自动刷新、报表订阅、设置告警等功能。可以作为企业大盘来使用。

支持丰富的图表类型,包括表格、线图、流图以及灵活的变量配置和自定义事件等功能。

告警

日志服务提供了一站式的告警监控、降噪、事务管理、通知分派的智能运维平台。商务运营人员(市场、客户运营、财务人员)可以通过告警功能对各种数据库或者指标(例如用户数、活跃度、广告点击率、商品转化率)等进行持续监控;识别指标的变化情况或者异常并相应,以提升运营效率、减少业务风险或财务风险。

方案实施

前提条件

用户已开通阿里云SLS产品。

操作步骤

步骤一:将MySQL数据导入到SLS的Logstore

  1. 登录SLS控制台,在Project列表页面,选择已有的Project或者创建新的Project。

  2. 在日志库标签页,选择已有Logstore或者单击+图标创建新的Logstore。

  3. 在日志库的数据接入> 数据导入,单击+图标。选择MySQL数据导入。

  1. 在数据源配置页面,配置相关信息。输入信息完毕后,也可以点击预览查看预览结果。注意:如果是VPC网络下,建议选择与VPC网络相同的区域以避免公网流量。

  2. 到相应的Logstore查看MySQL数据库是否正确接入,接入后可以选择开启索引。

  3. 任务管理和报表展示。

步骤二:数据入湖

将数据接入到日志服务后,日志服务以Logstore作为数据接入抽象层,屏蔽了数据源的复杂性,Logstore数据以统一的方式入湖。具体使用方法可以参考:《SLS投递OSS功能升级:打造更顺畅的日志入湖体验》。

日志服务的提供了全托管的数据投递功能和便捷的Wizard支持创建投递任务。仅需填写少量的字段即可完成入湖操作。

并提供了统一的任务管理页面和报表展示页面。


分享:
相关内容
相关推荐
阿里云
热门内容
  • 如何解决[Docker管理器]运行时发生错误!
    解决办法:返回主页,点击右上角修复。或者等待10分钟自主会修复!
  • 宝塔防火墙禁止境外访问,禁止境内访问讲解
    一、禁止境外访问,禁止境内访问简介首先说明一下:禁止海外访问--->禁止除大陆之外的地区访问禁止境内访问---> 禁止国内访问二、防御设置2.1 禁止海外访问 (全局开关+站点开关=开启)这里全局开关需要开启。这个开启只是说开启了全局的。如果需要网站开启需要在网站里面开启才能让网站禁止海外访问两边开启成功之后才是真正的给这个网站开启了禁止海外访问2.1 禁止境内访问 (
  • 如何解决宝塔安装出现"下载宝塔运行环境失败,请尝试...
    用的是阿里云服务器,安全组该放行的端口都放行了您好,您那边使用的是哪个地区的服务器呢?您那边执行下面命令绑定下hosts然后重新安装看下是否正常echo "36.133.1.8 www.bt.cn download.bt.cn api.bt.cn dg1.bt.cn dg2.bt.cn" >> /etc/hosts
  • 如何解决ubuntu20.04编译安装nginx失败
  • 如何解决面板安装成功,无法启动
    面板已经安装成功,但是无法启动面板。您使用的服务器是什么版本的呢?该错误提示缺少了gevnet和psutil模块使用SSH工具链接服务器,然后执行下面命令安装模块,然后重启面板如果重启不成功,执行bt 22命令查看面板日志!btpip install psutilbtpip install gevent
Tags标签
联系方式