首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

各种开源数据库同步工具汇总

Oracle GoldenGate 是一款实时访问、基于日志变化捕捉数据,并且在异构平台之间迚行数据传输的产品。GoldenGate TDM是一种基于软件的数据复制方式,它从数据库的日志解析数据的变化(数据量只有日志的四分之一左右)。GoldenGate TDM将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达10:1的压缩率对数据迚行压缩,可以大大降低带宽需求。在目标端,GoldenGate TDM可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的。

02

inotify-rsync文件实时同步问题记录

如图分析原因:通过ftp或者其他客户端上传一个稍大点的文件到文件同步监控目录下,inotifywait会实时监控到此目录下该文件的创建及修改,此时上传文件对文件修改可能是每1024个字节一次写入(可能更多,根据写文件客户端而定),因此在一定时间内造成了大量的并发,因为每次修改都会触发inotifywait检测到MODIFY类型的文件操作,同时也会调用rsync传输工具对该文件进行传输,在大量并发的情况下,对该文件的文件传输也会产生大量并发的传输,会造成io阻塞。 修改方案:在正常对文件的操作下,都会有CLOSE_WRITE,因此我们不需要让inotifywait监控MODIFY类型的事件,就不会触发大量并发的文件传输。 附上部分文件同步监控shell代码:

03

rsync+inotify实现触发式远程实时同步

在Linux平台下我们可以利用2.6内核的inotify监控文件系统机制,通过inotify-tools来实现实时同步了。 具体操作如下: 1.安装所需软件 目前各大Linux发行版本都已经具有了rsync与inotify-tools的软件包,推荐通过RPM,yum,apt-get等方式进行安装。 RHEL: [root@server1 ~]# rpm -ivh rsync-* [root@server1 ~]# rpm -ivh inotify-tools-* CentOS: [root@server1 ~]# yum install rsync inotify-tools Ubuntu: [root@server1 ~]# apt-get install rsync inotify-tools 采用源码方式安装的步骤如下: [root@server1 ~]# wget ftp://ftp.samba.org/pub/rsync/rsync-3.0.8.tar.gz [root@server1 ~]# tar xzvf rsync-3.0.8.tar.gz [root@server1 ~]# cd rsync-3.0.8 [root@server1 ~]# ./configure [root@server1 ~]# make [root@server1 ~]# make install [root@server1 ~]# wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz [root@server1 ~]# tar xzvf inotify-tools-3.14.tar.gz [root@server1 ~]# cd inotify-tools-3.14 [root@server1 ~]# ./configure [root@server1 ~]# make [root@server1 ~]# make install 2.配置ssh key信任 建议通过普通用户进行操作,理由是通过root操作本身就危险,免密码登陆的root就更危险了。 在两台服务器上创建rsync用户 [root@server1 ~]# useradd -m rsync [root@server1 ~]# passwd rsync [root@server2 ~]# useradd -m rsync [root@server2 ~]# passwd rsync [root@server1 ~]# su - rsync [rsync@server1 ~]$ ssh-keygen -t rsa 在提示保存私钥(key)和公钥(public key)的位置时,使用默认值; 在提示是否需要私钥密码(passphrase)时,直接敲回车,即不使用私钥密码。 之后,将生成一对密钥,id_rsa(私钥文件)和id_rsa.pub(公钥文件),保存在/home/rsync/.ssh/目录下。 将公钥添加到远程主机的 authorized_keys 文件中 将文件上传到远程主机(假设远程主机IP为192.168.10.4) [rsync@server1 ~]$ scp ~/.ssh/id_rsa.pub rsync@192.168.10.4:/home/rsync/ 使用rsync用户SSH到登陆到远程主机,并将公钥添加到 authorized_keys 文件中 [rsync@server2 ~]$ mkdir .ssh [rsync@server2 ~]$ chmod 700 .ssh [rsync@server2 ~]$ mv ~/id_rsa.pub ~/.ssh/authorized_keys 重启SSH服务 [root@server1 ~]# /etc/init.d/sshd restart [root@server2 ~]# /etc/init.d/sshd restart 3.创建inotify_rsync.sh脚本 [root@server1 ~]# vim inotify_rsync.sh 1    #!/bin/sh 2    SRC=/home/rsync/test 3    DST=rsync@192.168.10.4:/home/rsync/test 4     5    /bin/su - rsync 6    /usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib ${SRC} | while read D E F 7            do 8                    /usr/bin/rsync -ahqzt

02

Tapdata 开源项目基础教程:功能特性及实操演示

自开源以来,Tapdata 吸引了越来越多开发者的关注。随着更多新鲜力量涌入社区,在和社区成员讨论共创的过程中,我们也意识到在基础文档之外,一个更“直观”、更具“互动性”的实践示范教程的重要性和必要性。为了辅助开发者更好地理解技术文档,真正实现快速上手、深度参与,即刻开启实时数据新体验,我们同步启动了 Tapdata 功能特性及操作演示系列教程。 以下,为本教程的第一弹内容——零基础快速上手实践,细致分享了从源码编译和启动服务到如何新建数据源,再到如何做数据源之间的数据同步的启动部署及常见功能演示,主要任务包括:

03
领券