阿里大数据之路总结

news2024/9/25 21:27:47

一、数据采集

二、数据同步

2.1、数据同步方式:

数据同步的三种方式:直连方式、数据文件同步、数据库日志解析方式

关系型数据库的结构化数据:MYSQL、Oracle、DB2、SQL Server
非关系型数据库的非结构化数据(数据库表形式存储):OceanBase、HBase、MongoDB
文件系统的结构化和非结构化数据(文件形式存储):阿里云对象存储OSS、文件存储NAS

2.1.1、直连同步

通过规范接口API(ODBC/JDBC等)和基于动态链接库的方式直连业务库

适合:适合操作型业务系统数据同步

优点:配置简单、方便

缺点:对源系统性能影响 -- 可考虑主备的方式从备库抽取,但当数据量很大时,抽取性能很差,不适合从业务库到数仓的数据同步

主备抽取:

 

 2.1.2、数据文件同步

数据文件通过约定好的文件编码、格式、大小等将源库生成的数据的文本文件,通过专门的文件服务器(如FTP服务器),加载到目标数据库系统

适合:数据源有多个异构数据库系统(MYSQL、Oracle、SQL Server、DB2等),互联网的日志类数据通常是文本文件,也适合

优点:适合多个数据源

缺点:文件服务器上传下载易丢包,通常在上传时候伴随一份校验文件,记录数据文件数据量和大小。同时也可以在上传下载时候进行压缩,减少传输量

 

2.1.3、数据库日志解析(主流)

大多主流库实现了日志文件系统进行系统恢复、主从同步,所以可以通过解析日志文件进行获取数据变更,达到增量数据同步需求。

以Orcale为例,通过源系统进程,读取归档日志文件收集变化数据信息,解析到对应目标数据文件中(这种读操作在操作系统层面,不影响源系统性能---在机器层面)。然后通过网络协议,实现源系统和目标系统之间数据文件传输(相关进程保证数据文件接受和网络包的顺序,童工网络传输冗余,确保文件完整性)。数据到目标系统后可通过数据加载模块完成数据导入,完成同步。

适用:绝大部分实现了日志文件系统的主流数据库,用于绝大多数业务库到数仓增量同步

优点:效率高、性能好,达到了实时和准实时同步能力(ms级别延迟),对源库性能影响很小

缺点:数据延迟(例:业务库做补录会导致数据增量超出系统处理峰值,导致数据延迟);

          投入较大,需要部署一个实时抽取任务抽取数据同步;

          数据飘移和遗漏:“零点飘移”问题

注:日志抽取获得所有数据记录变更(增-I、删-D、改-U),所以我们需要根据主键去重按照时间倒排去获取最后状态变化情况

1、不过滤删除。不管是否是删除操作,都获取同一主键最后的变更记录

2、过滤最后一条删除记录。如果同一主键最后一跳变更记录是删除操作,就取倒数第二条变更记录

3、过滤删除和之前的操作。如果同一主键的变更记录中有删除操作,则根据操作时间将删除操作对应的记录和之前的记录都过滤掉

2.2、阿里数仓同步方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/376323.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣Top100题之两数相加(Java解法)

0 题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数…

Unity IOS 通过命令行导出IPA

新建一个文件没有后缀然后输入如下内容 #!/usr/bin/env sh /Applications/Unity/Hub/Editor/2020.1.5f1c1/Unity.app/Contents/MacOS/Unity -quit -batchmode -projectPath /Users/zyt/Test -executeMethod Test.BuildEditor.BuildApp cd /Users/zyt/Test/Xcode/unity-xcode x…

Redis:SETNX解决分布式锁误删问题

Redis:SETNX解决分布式锁误删问题一.概述二. 分布式锁(初级)(1)锁接口(2)锁实现类上锁(3)释放锁(4)存在的问题三. 改进释放锁(1&#…

linux:字符串拷贝的五种方法:使用指针下标,指针变量加偏移量,指针变量自加等

字符串数组名做函数形参&#xff0c;会退化正指针变量&#xff0c;需要使用指针变量操作字符串 代码&#xff1a; #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <s…

NDlib:npm启动网络演化可视化项目(SIR模型)

文章目录安装node.js以及vue启动NDlib_viz可视化项目后续问题打开项目安装node.js以及vue 参考之前的文章Node.js、npm和vue下载及安装 启动NDlib_viz可视化项目 在github下载项目到本地 https://github.com/GiulioRossetti/NDLib_viz 将node.js路径添加到环境变量 打开命令…

令执法机构头疼的“虚拟货币犯罪”,为何链上天眼能“行”

谈到洗钱&#xff0c;你脑海中率先想到的可能是影视剧中利用赌场、收藏品拍卖等来实施犯罪。其实洗钱犯罪的花样不止于此&#xff0c;在近期热播的扫黑剧《狂飙》中&#xff0c;唐小龙为洗白“赌博资金、高利贷业务”&#xff0c;便通过“卖酒网销”的方式达成洗钱目的。 随着科…

基于SpringCloud的可靠消息最终一致性04:项目基础代码

上一节给出了项目需求和骨架代码,这一节来接着看基础代码。骨架代码和基础代码最主要的区别是:骨架代码都是数据库脚本、POM依赖文件、配置文件内容、运维脚本等,而基础代码则是和业务有关联,但并非关键代码的部分。 这些代码不用一个个地看,主要是看看结构就行。 图二十五…

python 生成唯一id的实现方式

python 生成唯一id的实现方式 常用的python生成唯一id的四种方式 1.使用UUID UUID应该是大家耳熟能详的一个东西了&#xff0c;它的全称叫 通用唯一识别码&#xff08;英語&#xff1a;Universally Unique Identifier&#xff0c;缩写&#xff1a;UUID&#xff09;生成标准3…

对比多个笔记软件后,我选择了语雀

1、前言 早在两年前&#xff0c;那是我第一次用语雀&#xff0c;第一次使用时&#xff0c;就被其用户体验所震撼。它的操作界面简洁、清晰、易于上手&#xff0c;而且功能齐全、方便实用。但是那时候除了工作的笔记&#xff0c;大部分都还在印象笔记上面&#xff0c;也有部分文…

std::chrono笔记

文章目录1. radio原型作用示例2. duration原型&#xff1a;作用示例3. time_point原型作用示例4. clockssystem_clock示例steady_clock示例high_resolution_clock先说感觉&#xff0c;这个库真恶心&#xff0c;刚接触感觉跟shi一样&#xff0c;特别是那个命名空间&#xff0c;太…

人工智能高等数学--人工智能需要的数学知识_微积分_线性代数_概率论_最优化---人工智能工作笔记0024

然后我们看一下人工智能中需要的数学知识 数学知识是重要的,对于理解人工智能底层原理来说很重要,但是工作中 工作中一般都不会涉及的自己写算法之类的,只是面试,或者理解底层原理的时候需要 然后看一下人工智能需要哪些数学知识 这里需要微积分 线性代数 概率论 最优化的知识…

狂神说:面向对象(三)——多态

多态// 对象能执行什么方法&#xff0c;主要看对象左边的类型&#xff0c;和右边的没有关系多态&#xff1a;同一方法可以根据发送对象的不同而采用不同的行为方式父类&#xff1a;public class Person {public void run(){System.out.println("Person > run");}}…

跳跃游戏 (贪心/动态规划/dfs)

1.跳跃游戏简单介绍 跳跃游戏是一种典型的算法题目&#xff0c;经常是给定一数组arr[]&#xff0c;从数组的某一位置i出发&#xff0c;根据一定的跳跃规则&#xff0c;比如从i位置能跳arr[i]步&#xff0c;或者小于arr[i]步&#xff0c;或者固定步数&#xff0c;直到到达某一位…

Java 【数据结构OJ题十道】—— 二叉树篇2

文章目录一、二叉树前序遍历二、二叉树层序遍历三、按照之字形打印二叉树四、二叉树中和为某一值的路径(一)五、二叉搜索树与双向链表六、合并二叉树七、二叉树的镜像八、判断是否为二叉搜索树九、判断是否为完全二叉树十、判断是否为平衡二叉树总结提示&#xff1a;本人是正在…

TCP中RTT时延的理解

最近服务器环境部署了tcprtt网络时延监控&#xff0c;发现不同服务器不同节点之间的RTT时延表象非常奇怪&#xff0c;无法准确的判断服务器的网络情况。因此需要弄清楚什么是RTT&#xff0c;以及能否作为服务器网络性能的检测指标。 1、RTT是什么&#xff1f; TCP中的RTT指的是…

倾向得分匹配案例分析

一、倾向得分匹配法说明 倾向得分匹配模型是由Rosenbaum和Rubin在1983年提出的&#xff0c;首次运用在生物医药领域&#xff0c;后来被广泛运用在药物治疗、计量研究、政策实施评价等领域。倾向得分匹配模型主要用来解决非处理因素&#xff08;干扰因素&#xff09;的偏差。 …

为什么硬件性能监控很重要

当今的混合网络环境平衡了分布式网络和现代技术的实施。但它们并不缺少一个核心组件&#xff1a;服务器。保持网络正常运行时间归结为监控和管理导致网络停机的因素。极有可能导致性能异常的此类因素之一是硬件。使用硬件监控器监控网络硬件已成为一项关键需求。 硬件监视器是…

连接金蝶云星空,数据交互轻松搞定!丨三叠云

金蝶云星空 路径 拓展 >> 插件 功能简介 新增插件「金蝶云星空」。 用户可通过配置「金蝶云星空」插件&#xff0c;就可以实时获取「金蝶云星空」的数据&#xff0c;同时支持回填数据至金蝶系统内。 地图视图 路径 表单 >> 表单设计 功能简介 新增「地图视…

prometheus+cadvisor监控docker

官方解释 cAdvisor&#xff08;ContainerAdvisor&#xff09;为容器用户提供了对其运行容器的资源使用和性能特性的了解。它是一个正在运行的守护程序&#xff0c;用于收集、聚合、处理和导出有关正在运行的容器的信息。具体来说&#xff0c;它为每个容器保存资源隔离参数、历史…

活动目录(Active Directory)组策略管理工具

活动目录&#xff08;Active Directory&#xff09;是面向Windows Standard Server、Windows Enterprise Server以及 Windows Datacenter Server的目录服务。&#xff08;Active Directory不能运行在Windows Web Server上&#xff0c;但是可以通过它对运行Windows Web Server的…