一篇文章搞懂数据埋点与数据同步
目录
- (1)到底什么是埋点
- (2)企业数据埋点方案
- (3)企业数据同步方案
- (4)数据漂移场景及处理方案
(1)到底什么是埋点
埋点的概念:
埋点是数据采集中的一个统称,通常也叫做事件追踪(Event Tracking),它主要针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。埋点是为了满足快捷、高效、丰富的数据应用而做的用户行为过程及结果记录。数据埋点是一种常用的数据采集的方法。埋点是数据的来源,采集的数据可以分析网站/APP的使用情况,用户行为习惯等,是建立用户画像、用户行为路径等数据产品的基础。
埋点的作用:
- 精准运营
- 用户画像
- 数据分析与挖掘
埋点的分类:
1、客户端埋点:需要接入客户端的埋点SDK, 将实际的埋点代码嵌入到用户实际访问的页面中,一般用于采集用户的行为流等等,比如点击按钮,访问页面等等。
2、服务端埋点:服务端埋点的原理和客户端埋点大体类似,只不过将埋点的主体放到了服务端,通过接入服务端的SDK后,在服务端代码中调用埋点API进行相关的埋点。两种分类各有各的好处和缺点,可以结合实际的需求来选择哪一种方式埋点。
埋点方式:
(2)企业数据埋点方案
企业方案:
- 代码埋点,企业自研埋点流程。
- 使用第三方工具,如GA、MP、GIO、SD。
埋点分类:
客户端浏览器数据埋点流程:
App端的数据埋点流程:
H5日志与Native日志归一方式:
第三方工具埋点方案:
埋点注意事项:
- 埋点方案提前设计,与开发同步
- 做好测试,避免白埋
- 确定埋点标识唯一性,避免数据重复
(3)企业数据同步方案
数据同步方式
- 直连同步
- 数据文件同步
- 数据文件解析
直连同步:
规定统一规范的标准接口,不同数据库基于这套标准接口提供规范的驱动,支持完全相同的函数调用和SQL实现。
数据文件同步:
数据文件同步通过约定好的文件编码、大小、格式等,直接从源系统生成数据的文本文件,由专门的文件服务器,如FTP服务器传输到目标系统后,加载到目标数据库系统中。
数据库日志解析同步:
解析数据库日志文件获取发生变更的数据,从而满足增量数据同步的需求。
数据库日志解析同步:
数据库日志抽取一般是获取所有的数据记录的变更(增、删、该),落地到目标表时我们需要根据主键去重按照日志时间倒排序获取最后状态的变化情况。
针对删除数据这种变更,主要有三种方式
- 第一种方式:不过滤删除流水。不管是否是删除操作,都获取同一主键最后变更的那条流水
- 第二种方式:过滤最后一条删除流水。如果同一主键变更的那条流水是删除操作,就获取倒数第二条流水。
- 第三种方式:过滤删除流水和之前的流水。
实时数据基于增量同步的时候,一般情况下,可以采用不过滤的方式来处理。如: flink-connector-kafka中的upsert。
日志解析同步方式的一些缺陷:
- 投入较大
- 数据漂移和遗漏
(4)数据漂移场景及处理方案
数据漂移是指ODS表的同一个业务日期数据中包含前一天或者后一天凌晨附近的数据或者丢失当天的变更数据。
由于ODS需要承接面向历史的细节数据查询需求,这就要物理落地到数据仓库的ODS表按照时间段来切分进行分区存储,通常的做法是按某些时间字段类切分,而实际上往往由于时间戳字段的准确性问题导致发生数据漂移。
上面的数据是订单的数据,那么下面数据映射过来是要写入ODS表的数据,对于4000订单号,它的下单时间、支付时间、完成时间都是不一样的,如果是按照支付时间分区,那就分成了不同的区。这时候需要按照下单时间进行分区,对于分区要特别注意,对于分区的选择一定要讲同一个订单或者某一个订单放在同一个区。那么对于订单的这个流程为什么要放在同一个分区:一是为了顺序性,下游在处理的时候是可以放在一起的,二是对于下游处理提高性能。
以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!
一篇文章搞懂数据埋点与数据同步相关推荐
- 一篇文章搞懂filebeat(ELK)
一篇文章搞懂filebeat(ELK) https://www.cnblogs.com/zsql/p/13137833.html 目录 一.filebeat是什么 1.1.filebeat和beats ...
- c++ 计算正弦的近似值_一篇文章搞懂正弦保真性
本文介绍数字信号处理中"正弦保真性"这一概念,想要更好地理解本文所述内容,建议读者先阅读<一篇文章搞懂卷积>. 正弦保真性定义 一个正弦信号作为线性时不变系统的输入时, ...
- 一篇文章搞懂数据仓库:数据应用--OLAP
目录 1.OLAP和OLTP的区别 2.OLAP分类 3.OLAP基本操作 4.OLAP选型 1.olap和oltp的区别 OLTP OLAP 对象 业务开发人员 分析决策人员 功能 日常事务处理 面 ...
- 一篇文章搞懂mysql数据库底层数据存储逻及保存数据过程
前沿: 我们知道mysql数据和结构都存储在磁盘,这样才能保证数据的持久性,那么数据和结构是如何存储的呢?这就是今天我们要讨论的话题. 正文: 数据库有俩个文件,一个是以.frm结尾的文件,另外一个是 ...
- 一篇文章搞懂架构师的核心技能
" 这是架构师系列的第一篇:核心技能,希望这个系列能完全揭示架构师这个职位:我先从核心技能开始,后续还有架构师之路,架构实战等架构师系列文章. 本文作者 陈睿 优知学院创始人,前携程定制旅游 ...
- 组件化开发实战_一篇文章搞懂什么是前端“组件化”开发
学过网页的朋友都知道,制作一个网页离不开HTML.CSS和JavaScript技术.对于初学者来来说,掌握这3门技术就已经很不容易了,为什么前端为什么又要搞出来一个"组件化"开发的 ...
- 【一篇文章搞懂】什么是分布式锁?为什么要用分布式锁?看这篇文章准没错!
简介 HikariCP 是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能,另外,和 dr ...
- 一篇文章搞懂STL中的空间配置器allocator(原创,多图,易懂)
Table of Contents 0.引入 1.标准的空间配置器allocator 2.更为高效的空间配置器alloc 2.1----对象的构造与析构 2.1.1 对象的构造:::construct ...
- 一篇文章搞懂算法基础
源码地址 https://github.com/javanan/DataStructure 目录 时间复杂度介绍 空间复杂度介绍 递归算法与非递归算法区别和转换 折半查找/二分查找算法 链表实现 反转 ...
最新文章
- [转]给软件开发人员的几点建议
- go语言学习(5)协程
- OpenTelemetry-可观察性的新时代
- python的文件读取方式_python中文件读取方式
- 存定期还能加钱进去吗_购买支付宝的定期理财产品,会亏钱吗?
- Maven学习总结(4)——Maven核心概念
- 【BZOJ】2289: 【POJ Challenge】圆,圆,圆
- 并发编程应用场景_linux网络编程之select函数的并发限制和poll函数应用举例
- 2.5维数字地图制作
- js ajax 异步上传图片,javascript实现图片伪异步上传
- 红帽linux64系统下载,红帽rhel6.5下载
- presscad图层LIsp_统赢presscad2010免安装版 32位/64位
- S71500 PLC 与第三方设备 ModbusTCP 项目调试记录
- 怎么戒网瘾?一个玩了上百款游戏的程序员告诉你有多少废话
- 基于Java Web的在线考试系统的实现
- git 误操作 出现蓝色问号 解决
- The Elliptic Curve Digital Signature Algorithm(ECDSA)学习之路 - 签名验签流程
- etlgr是什么服务器_什么是ETL,ETL工程师的的主要工作职责是什么?
- 苹果电脑打开wps云文档方法
- 如何使用支付宝支付接口