一.前言 Binlog是MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句(除了数据查询语句)信息.而Binlog格式也有三种,分别为STATEMENT.ROW.MIXED.STATMENT模式基于SQL语句的复制,每一条会修改数据的SQL语句会记录.ROW模式除了记录SQL语句之外,还会记录每个字段的变化情况,能够清楚的记录每行数据的变化历史,会占用较多的空间.MIXED比较灵活的记录,当遇到表结构变更的时候,就会记录为STATMENT模式,当遇到了数据更新或者删除情况下就会变…
最近在工作中需要处理一些大数据量同步的场景,正好运用到了canal这款数据库中间件,因此特意花了点时间来进行该中间件的的学习和总结. 背景介绍 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求.不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元. 适用版本 支持mysql5.7及以下版本 传统的主从同步原…
大家好,我是不才陈某~ 数据同步一直是一个令人头疼的问题.在业务量小,场景不多,数据量不大的情况下我们可能会选择在项目中直接写一些定时任务手动处理数据,例如从多个表将数据查出来,再汇总处理,再插入到相应的地方. 但是随着业务量增大,数据量变多以及各种复杂场景下的分库分表的实现,使数据同步变得越来越困难. 今天这篇文章使用阿里开源的中间件Canal解决数据增量同步的痛点. 文章目录如下: Canal是什么? canal译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量…
一.Canal简介: canal是阿里巴巴旗下的一款开源项目,纯Java开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB). 二.背景介绍: 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求.不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元. 三…
最近一段时间才开始学习使用Unity3d,AR的学习使用中,先后使用了metaio SDK.vuforia SDK,但由于这两个都属于收费的,今天开始尝试使用ARToolKit.先将ARToolKit for Unity的搭建介绍一下,供大家参考. 一.Unity环境:windows7 64位,Unity 5.1.1f1 32位. 二.ARToolKit已经发布新的版本,而ARToolKit for Unity的最新版本是5.2.2, MSDN下载:http://download.csdn.ne…
[转]ibatis的简介与初步搭建应用 一.ibatis的简介 ibatis是什么东西就不介绍了,自己去找谷老师. 这里讲下自己的使用体会.之前自己学过Hibernate,是看尚学堂的视频教学的,看完以后发现Hibernate体系中的内容真的很多,什么N-N关联.HSQL.缓存管理等等,看得我真的很晕,想要一时间掌握还真不可能,反正我现在也不是特别明白.后来新的公司是用ibatis,所以自己回去研究了下,结果发现ibatis真的很简单,体系结构相比Hibernate易化多了.在自己搭建了一个简单…
1.下载kettle 国外网站:http://kettle.pentaho.org/需要FQ,下载慢 2.下载完成启动(windows)-->spoon.bat 3.进入界面,两个主要的tab页 4.第二个tab页里用到的 5. 第一步设定REST接口需要的参数(比如URL) 第二步调用REST接口 第三步使用JSON控件接收REST返回数据 第四步将返回数据输出到Excel中 6.url返回的json数据 7.运行结果: 8.如果自己链接数据库的话,会缺少数据库驱动,需要在lib包下面加上,如…
阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装 最近琢磨着想在服务器上搭建一个hexo博客,于是就在阿里云上买了一个云服务器ECS,远程接入后默认给的是一个命令窗口,没有图形界面,就想着先安装一个ubuntu的图形界面.本人是第一次接触ubuntn系统,在网上查了各种安装教程才完成了ubuntn的图形界面安装.现总结如下:(如有错误请指正) 一.ubuntn图形界面安装前的准备 1.阿里云云服务器ECS 操作系统:Linux 64 位 ubuntu16.04 64位 2.pu…
一.Django的学习需要掌握的一些基础 第一个需要注意的点:客户端发送过来的数据结构组成: 第二个需要注意的点:动态网页和静态网页 静态网页:用户发送请求,服务端找到对应的静态文件返回给浏览器,静态网页时不变的,用户恮什么就返回什么,不能和用户交互. 动态网页:动态网页和静态网页的区别就是动态网页能和用户进行交互,根据用户的需求随时调换不同的静态页面返回给浏览器. 疑问:1.wsgiref怎么把套接字封装的? WSGI_APPLICATION = 'untitled7.wsgi.applica…
阿里云ECS服务器环境搭建(1) —— ubuntu 16.04 图形界面的安装1. 背景在我们购买阿里云ECS服务器之后,默认的系统环境是很干净的,我购买的是ubuntu16.04,远程登录进入之后,发现系统是这样的: 进入之后是这样的,进入就是root账户,帐号和密码是在购买服务器时自己填写的,家徒四壁!: 而我的目标是在在服务器上搭建一个web服务器,如果这样是不好看出效果的,于是想安装一个桌面环境(一定要考虑你的服务器的配置,低配装图形界面会很卡),类似于如下效果: 下面,看看我是怎么把…