美文网首页
第三章 数据同步之问题与解决办法

第三章 数据同步之问题与解决办法

作者: 被爱的天青色 | 来源:发表于2019-02-04 01:04 被阅读36次


分表分库的处理

1)传统数据库的分表分库处理:

2)在大数据系统中的做法是构建分布式数据库访问引擎(中间层),将分布在不同数据库中的表集成为一张表,业务系统像单表一样使用

3)分布式数据库访问引擎位于数据持久层与JDBC驱动之间,实现了以下功能:


高效同步与批量同步

1)数据同步流程:创建表--同步工具中配置数据库连接/表/字段--测试

2)存在问题:

① 数据量增大时,每天会有大量重复的配置工作,降低开发人员热情

② 不同数据库有个性配置

3)解决方式:

① 实现配置流程一键化操作,并封装web接口进一步达到批量化的效果

② 开发数据库管理平台,统一管理数据、数据结构;实现对不同数据源配置透明化,通过库名表名唯一的定位数据


增量与全量数据同步:

1)数据量超出一定阈值,每个周期同步全量数据会消耗大量资源。在这种情况下可以只同步增量数据并与前一天的全量数据进行合并。

2)当前流行的大数据平台基本不支持update操作,所以我们用全外连接+全量覆盖的方式更新数据。即将当天增量数据与前一天全量数据做全外连接,然后重新加载最新的全量数据。


数据漂移的处理

1)数据漂移发生在数据仓库的最底层ODS层,当日业务数据中包含前一天或者后一天凌晨的数据,或者当天的变更数据丢失

2)原因:数据在ODS层按时间分区存储,时间戳的准确性导致了数据漂移。

时间戳分四类:

① 数据库表中的数据更新时间(modified_time)

② 数据库日志中的数据更新时间 (log_time)

③ 数据库表中业务发生时间 (proc_time)

理论上这3个时间时相同的,事件中往往存在偏差,理由如下:

① 前台业务手工修正数据未更新modified_time

② 由于网络压力,modified_time和log_time晚于proc_time

3)数据漂移场景

① 依据modified_time划分,会发生因为未更新modified_time而导致数据遗漏,或者由于网络压力凌晨的数据漂移到后一天

② 依据log_time划分,由于网络压力,业务发生时未能实时更新数据,导致凌晨的数据漂移到后一天

③ 依据proc_time划分,仅仅包含一个业务记录,遗漏过程的变化记录

相关文章

  • 第三章 数据同步之问题与解决办法

    分表分库的处理 1)传统数据库的分表分库处理: 2)在大数据系统中的做法是构建分布式数据库访问引擎(中间层),将分...

  • ajax异步模式下实现同步和等待loading效果(jQuery

    ajax异步模式下实现同步和等待loading效果(jQuery同步Ajax带来的UI线程阻塞问题及解决办法)在与...

  • 第18天,Django进阶

    @(Django)[笔记] django 项目手动删除数据库表后重新同步出错的问题解决办法http://blog....

  • 游戏帧同步的流程与实现

    大纲 帧同步的基本原理 帧事件数据采集 帧同步的事件处理与动画 帧同步的逻辑数据同步 帧同步之跳帧处理 现代多人游...

  • 第三章 数据同步之数据同步基础

    数据同步技术即不同系统间数据流转,如: 同类型不同集群间同步:① 主数据库与备份数据库之间数据同步② 主系统与子系...

  • storm 问题总结

    问题1: host没同步,机器之间通信有问题 解决办法:同步hosts即可 问题2: zk连接数限制 任务跑了一段...

  • java 线程安全问题的解决办法 和死锁

    线程安全问题的解决办法 线程 安全问题的解决方案:sun提供了线程同步机制让我们解决这类问题的。 java线程同步...

  • django遇到的坑

    django数据同步过程出错: 1、 解决办法:在Python37\Lib\site-packages\djang...

  • Redis与DB数据同步问题

    最近在忙的项目中很多地方需要用到了Redis,其中要考虑缓存数据与持久化数据的一致性,网上找了一些资料这里做记录一...

  • 架构师进阶实战随堂笔记九

    场景九 微服务中数据存储的一致性问题 一致性数据同步与实践案例分享 数据存储 冗余 库冗余 表冗余 冗余数据同步...

网友评论

      本文标题:第三章 数据同步之问题与解决办法

      本文链接:https://www.haomeiwen.com/subject/ddmusqtx.html