百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

潮数技术分享系列(二):数据库同步系统

ccwgpt 2024-11-25 10:24 53 浏览 0 评论

结构化数据 是指可以使用关系型数据库表示和存储,表现为二维形式的数据。 一般结构化数据保存在数据库中,做好数据库的同步、备份对于保护结构化数据是十分重要 的。

产品介绍

数据库同步系统是基于数据库日志捕获、解析、传递、加载技术的数据实时同步软件。数据库同步系统提供了同构&异构环境下低影响的数据同步功能。增加了实用且重要的功能,降低了数据库同步产品对生产系统的影响,扩展了数据库同步产品的使用场景和范围。

功能介绍

在线日志解析: 数据库同步系统通过在线分析事务日志获得SQL语句和数据,完成DataBase级别schema 级别或table级别的数据复制。数据库同步系统对日志的整合和传输以“事务”为单位,无需处理复杂的“回滚”机制。使用该技术,在拥有高性能的同时还能够更好的保证数据复制的一致性和完整性。

在线数据迁移: 数据库同步系统迁移数据时无需停止业务,通过SCN号控制机制,完整地将生产服务器数据复制到备份端服务器。可在7*24小时运行的业务上完成安全的、高性能的数据迁移工作。

中文图形监控管理报警: 数据库同步系统具有一个完整的监控客户端,可方便地监控软件的运行,系统资源占用等状态,而且可以对软件进行配置修改,不需要去配置复杂晦涩的配置文件。数据库同步系统还提供了字符操作模式,通过两种方式都可以对数据库同步系统进行日常维护和监控,满足了不同用户的使用习惯。

数据比对修复: 数据库同步系统在数据同步过程中可以用一条命令对实时同步的数据进行数据比对验证,将逐行逐字符地比对生产数据库和备份数据库的内容,并在数据库同步系统Agent(客户端)形成可读的txt报告文件,以便直观地查看数据比对结果。

备份数据库数据回滚: 数据库同步系统Agent 客户端会过滤生产数据库进行的Truncate,Drop,Delete操作,将遇到这些操作时,数据库同步系统Agent不会真正的删除数据,而是将该表Rename(重命名),使其变成数据库中的一张隐藏表,在需要时可以恢复表中数据。

历史数据库归档: 数据库同步系统历史数据库归档技术的主要目的是减少生产服务器的查询压力,历史数据库归档技术借助数据比对和数据验证方式,来验证主交易数据库和热容灾数据的历史数据库数据完全一致。数据验证完成后,可以Truncate掉主交易数据库的历史数据库数据而保留备份服务器的历史数据库数据,备份服务器始终处于OPEN状态,可以进行实时的查询。

数据抽取转换加载: 数据库同步系统ETL(Extraction Transformation Loading)数据抽取、转换、加载技术可以实现生产服务器和备份服务器数据类型的转换,SQL语句的过滤等功能,满足数据清洗需求。

跨数据库数据转换集成: 数据库同步系统能够将生产数据库的实施实时同步到informix数据库和Teradata数据库仓库中,能够在不修改当前业务系统的结构情况下,解决跨数据库平台的数据转换需求。

应用场景

作为报表数据源: 备用数据库Open状态,可读写,可供大部分报表使用。

作为抽取数据源: 备用数据库Open状态,可读写,可供数据抽取应用使用。

分担生产系统压力: 备用系统可以分担生产系统40%左右的系统负载。

数据库滚动升级: 给数据库大版本升级提供业务不间断的能力。

提供生产系统可靠性: 通过卸载部分生产压力到备用系统显著降低生产系统生成压力,避免高负载在极限情况下可能造成的异常事件,并且为保障单点SLA能力,主系统在灾难情况下能接管所有业务压力。

网络资源复用: 由于基于变化量的传输机制,网络带宽耗用仅传统方案的1/10,通过复用机制可提升网络资源的利用率。

业务拓展需求: 通过在线增加备用节点,可以拓展其他业务使用场景,例如结合上线增加和原库相同测试库,并进行回归测试。

产品部署方式

部署方式,如下图所示:

产品优势

高稳定性: 数据库同步系统独立于Oracle系统架构,不依赖于触发器,不占用Oracle资源,对生产系统低影响;

高可靠性: 数据库同步系统基于Oracle事务复制,只捕获提交的事务,过滤未提交的事务,保证数据一致性;

异构跨平台支持: 数据库同步系统源端支持异构源和目标系统,OS异构支持,DB异构支持,能适应各种复杂环境;

高灵活可扩展性: 数据库同步系统开放API,松耦合的模块化架构,易于被集成,并提供定制化开发服务;

毫秒级数据延迟: 数据库同步系统在事务开始发生时就捕获变化数据,事务一提交就马上发送到目标端;

支持范围

操作系统: Windows全系列、Linux及衍生版本、UNIX;

数据库源端: Oracle 9i/10g/11g/12c,Informix,DB2等;

数据库目标端: Oracle 9i/10g/11g/12c,MySql &分布式Mysql,Sql Server 数据库,HP 列式数据库Vertica,Teradata 数据仓库,国产数据库及任何支持JDBC接口的数据库。

相关推荐

十分钟让你学会LNMP架构负载均衡(impala负载均衡)

业务架构、应用架构、数据架构和技术架构一、几个基本概念1、pv值pv值(pageviews):页面的浏览量概念:一个网站的所有页面,在一天内,被浏览的总次数。(大型网站通常是上千万的级别)2、u...

AGV仓储机器人调度系统架构(agv物流机器人)

系统架构层次划分采用分层模块化设计,分为以下五层:1.1用户接口层功能:提供人机交互界面(Web/桌面端),支持任务下发、实时监控、数据可视化和报警管理。模块:任务管理面板:接收订单(如拣货、...

远程热部署在美团的落地实践(远程热点是什么意思)

Sonic是美团内部研发设计的一款用于热部署的IDEA插件,本文其实现原理及落地的一些技术细节。在阅读本文之前,建议大家先熟悉一下Spring源码、SpringMVC源码、SpringBoot...

springboot搭建xxl-job(分布式任务调度系统)

一、部署xxl-job服务端下载xxl-job源码:https://gitee.com/xuxueli0323/xxl-job二、导入项目、创建xxl_job数据库、修改配置文件为自己的数据库三、启动...

大模型:使用vLLM和Ray分布式部署推理应用

一、vLLM:面向大模型的高效推理框架1.核心特点专为推理优化:专注于大模型(如GPT-3、LLaMA)的高吞吐量、低延迟推理。关键技术:PagedAttention:类似操作系统内存分页管理,将K...

国产开源之光【分布式工作流调度系统】:DolphinScheduler

DolphinScheduler是一个开源的分布式工作流调度系统,旨在帮助用户以可靠、高效和可扩展的方式管理和调度大规模的数据处理工作流。它支持以图形化方式定义和管理工作流,提供了丰富的调度功能和监控...

简单可靠高效的分布式任务队列系统

#记录我的2024#大家好,又见面了,我是GitHub精选君!背景介绍在系统访问量逐渐增大,高并发、分布式系统成为了企业技术架构升级的必由之路。在这样的背景下,异步任务队列扮演着至关重要的角色,...

虚拟服务器之间如何分布式运行?(虚拟服务器部署)

  在云计算和虚拟化技术快速发展的今天,传统“单机单任务”的服务器架构早已难以满足现代业务对高并发、高可用、弹性伸缩和容错容灾的严苛要求。分布式系统应运而生,并成为支撑各类互联网平台、企业信息系统和A...

一文掌握 XXL-Job 的 6 大核心组件

XXL-Job是一个分布式任务调度平台,其核心组件主要包括以下部分,各组件相互协作实现高效的任务调度与管理:1.调度注册中心(RegistryCenter)作用:负责管理调度器(Schedule...

京东大佬问我,SpringBoot中如何做延迟队列?单机与分布式如何做?

京东大佬问我,SpringBoot中如何做延迟队列?单机如何做?分布式如何做呢?并给出案例与代码分析。嗯,用户问的是在SpringBoot中如何实现延迟队列,单机和分布式环境下分别怎么做。这个问题其实...

企业级项目组件选型(一)分布式任务调度平台

官网地址:https://www.xuxueli.com/xxl-job/能力介绍架构图安全性为提升系统安全性,调度中心和执行器进行安全性校验,双方AccessToken匹配才允许通讯;调度中心和执...

python多进程的分布式任务调度应用场景及示例

多进程的分布式任务调度可以应用于以下场景:分布式爬虫:importmultiprocessingimportrequestsdefcrawl(url):response=re...

SpringBoot整合ElasticJob实现分布式任务调度

介绍ElasticJob是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目ElasticJob-Lite和ElasticJob-Cloud组成。它通过弹性调度、资源管控、...

分布式可视化 DAG 任务调度系统 Taier 的整体流程分析

Taier作为袋鼠云的开源项目之一,是一个分布式可视化的DAG任务调度系统。旨在降低ETL开发成本,提高大数据平台稳定性,让大数据开发人员可以在Taier直接进行业务逻辑的开发,而不用关...

SpringBoot任务调度:@Scheduled与TaskExecutor全面解析

一、任务调度基础概念1.1什么是任务调度任务调度是指按照预定的时间计划或特定条件自动执行任务的过程。在现代应用开发中,任务调度扮演着至关重要的角色,它使得开发者能够自动化处理周期性任务、定时任务和异...

取消回复欢迎 发表评论: