首页 > 其他分享 >大数据之路 读书笔记 Day4 数据同步

大数据之路 读书笔记 Day4 数据同步

时间:2024-07-07 22:56:14浏览次数:22  
标签:同步 读书笔记 Day4 系统 实时 DataX 日志 数据

回顾:

数据同步

阿里数据体系中的数据同步,主要指的是在不同的数据存储系统之间进行数据的传输与更新,以保证数据的一致性和实时性。这个过程通常涉及到源系统的数据抽取、数据转换处理以及目标系统的数据加载三个核心步骤,简称ETL(Extract, Transform, Load)。
DataX在阿里数据体系中扮演着关键的角色,它是一款高性能的离线数据同步工具,主要用于实现不同数据源之间的数据迁移和同步。DataX的设计理念是为了提供一种灵活、高效且可扩展的方式,来解决数据在各种异构系统之间的传输问题。
总的来说,数据同步有三种方式:

  • 直连同步
  • 数据文件同步
  • 数据库日志解析同步

本文将重点介绍后两种,因为比较重要

1. 直连同步

在这里插入图片描述

定义了规范接口API,配置简单,但性能较差

2. 数据文件同步

在这里插入图片描述约定好文件编码、大小、格式,直接从源系统生成数据的文本文件,然后上传到文件服务器(FTP),然后加载到目标系统。

好处:

  • 可以包含多个异构数据库系统,如oracle、mysql、DB2等等
  • 还可以传输互联网的日志类数据,因为它们也是文本文件形式存储

注意:

  • 由于文件服务器上传、下载可能会丢包,所以还需要上传校验文件
  • 在源系统生成数据文件时,可以压缩和加密,大大提高传输性能和安全性

3. 数据库日志解析同步

在这里插入图片描述
通过直接解析日志文件,获取发生变更的数据,从而满足增量数据同步的需求

以Oracle举例

  • 通过源系统进程读取归档日志文件,收集数据变化信息
  • 判断是否属于被收集对象
  • 解析到目标数据文件(以上三步均通过操作系统完成,不通过数据库,因此不会影响源系统性能)
  • 通过网络协议传输
  • 通过数据加载模块导入

数据库日志解析同步方式实现了实时与准实时同步的能力,延迟可以控制在毫秒级别,并且对业务系统的性能影响也较小,目前广泛应用于从业务系统到数据仓库系统的增量数据同步应用之中。

本书中还介绍了数据库日志抽取中,针对不同的业务场景,须采用不同的落地手法。如类似删除数据后产生的日志的处理方法,结合主键考虑,这里不再详述。

4. 阿里数据仓库的同步方式

4.1 阿里数据仓库的特点

  1. 数据来源的多样性,包括mysql等结构化数据,同时还包含web服务器产生的日志、各类图片、视频等
  2. 海量数据,目前阿里巴巴的大数据处理系统maxcompute的数据存储达到EB级别,需要同步的数据量达到PB级别

以上两点,使得处理数据需要采取不同策略

4.2 批量数据同步

在这里插入图片描述

阿里巴巴的 DataX 是一个能满足多方向高自由度的异构数据交换服务产品。对于不同的数据源,DataX 通过插件的形式提供支持,将数据从数据读出并转换为中间状态,同时维护好数据的传输、缓存等工作。数据在 DataX 中以中间状态存在,并在目标数据系统中将中间状态的数据转换为对应的数据格式后写入。目前 DataX 每天都需要处理 2PB 左右的批量数据同步任务,通过分布式模式,同步完所有的数据所需要的时间一般在 3 小时以内,有力保障了大数据同步的准确及高效性。

在这里插入图片描述

  • Job:数据同步作业。
  • Splitter:作业切分模块,将一个大任务分解成多个可以并行的小任务。
  • Sub-Job:数据同步作业切分后的小任务,或称之为 Task。
  • Reader:数据读入模块,负责运行切分后的小任务,将数据从源系统装载到 DataX。
  • Channel:Reader 和 Writer 通过 Channel 交换数据。
  • Writer:数据写出模块,负责将数据从 DataX 导入目标数据系统。

4.3 实时数据同步

产生原因:

处理双11这种需要实时汇总,实现秒级数据刷新的业务场景
具体来说,就是建立一个数据日志交换中心,从每台服务器源源不断的读取日志数据,然后通知订阅了这些日志的数据仓库获取,TimeTunnel能够实现这样的需求

示意图和介绍:

在这里插入图片描述
具体来说,TT 是一种基于生产者、消费者和 Topic 消息标识的消息中间件,将消息数据持久化到 HBase 的高可用、分布式数据交互系统。

  • 生产者:消息数据的产生端,向 TimeTunnel 集群发送消息数据,就是图中的生产 Client。

  • 消费者:消息数据的接收端,从 TimeTunnel 集群中获取数据进行业务处理。

  • Topic:消息类型的标识,如淘宝 acookie 日志的 Topic 为 taobao_acookie,生产 Client 和消费 Client 均需要知道对应的 Topic 名字。

  • Broker 模块:负责处理客户端收发消息数据的请求,然后往 HBase 取发数据。

TimeTunnel 高效、稳定地支持阿里巴巴实时数据的同步,每天处理的日志类数据多达几百 TB,数据库 binlog 解析的实时增量数据同步也有几百 TB,在天猫“双 11”大促活动中,在峰值为每秒十几万笔交易量的极端情况下延迟控制在 3s 以内,有效保障了各种场景的实时数据应用。


以上就是今天的内容啦
点赞收藏关注,获取更多干货知识~

标签:同步,读书笔记,Day4,系统,实时,DataX,日志,数据
From: https://blog.csdn.net/weixin_64259675/article/details/140248668

相关文章

  • 下载,连接mysql数据库驱动(最详细)
    前言本篇博客,我讲讲如何连接数据库?我使用mysql数据库举例。目录下载对应的数据库jar包百度网盘存有8.4.0版本压缩包:链接:https://pan.baidu.com/s/13uZtXRmuewHRbXaaCU0Xsw?pwd=uipy 提取码:uipy 复制这段内容后打开百度网盘手机App,操作更方便哦一下是具体的操作步骤......
  • 异步优化与数据入库:顶点小说爬虫进阶实战
    顶点小说进阶建议这篇顶点小说进阶包括(数据入库、异步爬虫)看之前可以先看我之前发布的文章(从零开始学习Python爬虫:顶点小说全网爬取实战)入库#入库defsave_to_mysql(db_name,table_name,table_column_str,table_info_str):db=pymysql.connect(user='host',passw......
  • 命令行修改MySQL5.7数据库密码
    命令行修改MySQL5.7数据库密码命令行修改MySQL5.7数据库密码教程概述本教程将教会刚入行的小白如何使用命令行方式修改MySQL5.7数据库密码。通过以下步骤,你将能够完成密码修改操作。步骤步骤描述1进入命令行终端2登录MySQL数据库3切换到MySQL系统数据库......
  • Apifox 6月更新|定时任务、内网自部署服务器运行接口定时导入、数据库 SSH 隧道连接
    Apifox新版本上线啦!!! 看看本次版本更新主要涵盖的重点内容,有没有你所关注的功能特性:自动化测试支持设置「定时任务」 支持内网自部署服务器运行「定时导入」数据库均支持通过SSH隧道连接自动化测试数据库操作优化 将Apifox更新至最新版,一起开启全新体验......
  • pandas 检查表单指定列是否有重复数据【实际业务实践】
    一、业务需求财务系统中提报业务时,需要检查业务附件中的两列是否在当前电子表格内重复。比如检查票据编号+子票区间是否有重复。二、业务数据以下是脱敏的真实业务数据。制单号制单状态处理结果业务种类票据包号子票区间票据类型票面金额申请金额对手方名称......
  • [C语言学习]--数据类型和变量
    文章目录前言一、数据类型介绍1.内置类型1.1.整型1.2.浮点型1.3.字符型1.4.布尔类型2.自定义类型 3.数据类型的长度4.sizeof操作符 5.signed和unsigned二、变量1.变量的创建2.变量的分类3.算术操作符(运算符)3.1.+和-3.2. *3.3./ 3.4% 4.赋......
  • 数据库视图的作用
    在数据库设计中,视图(View)是一种虚拟的表,其内容由SQL查询定义。视图可以提供以下作用:简化复杂的查询:视图可以包含复杂的SQL语句,使得用户能够通过简单的查询来获取复杂的数据。安全性:视图可以限制用户对某些数据的访问,只展示他们需要看到的数据。这有助于保护敏感信息。逻辑......
  • 数据库视图的使用
    视图(View)在数据库中是一种虚拟的表,其内容由SQL查询定义。使用视图可以简化复杂的查询、提高安全性、以及增强逻辑数据独立性。以下是视图的一些基本使用方法:查询视图:使用SELECT语句查询视图,就像查询普通表一样。例如,如果你有一个名为high_earners的视图,可以这样查询:SELEC......
  • 【BP回归预测】基于龙格库塔优化算法RUN实现光伏数据预测多输入单输出附matlab代码
    ​✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 基于ssm的图书管理系统(源码+数据库+搭建部署视频)
    1.系统概述本文档介绍了基于Spring+SpringMVC+MyBatis(SSM)框架构建的图书管理系统。该系统旨在提供图书馆高效管理图书和读者的功能,通过各项详细功能来支持图书馆的日常运营和管理,提升服务质量和管理水平。2.技术选型Spring框架:提供了依赖注入和面向切面编程等功能,简......