00:00
咱们今天要学习的第一个内容给各位来讲这么一个工具,这工具名字叫做canon,是一个叫数据同步工具,第一个咱来讲它,那首先给大家先说一下这canel它是什么,包括它用在什么场景下,以及咱们在什么时候会用到这个,看到的这么一个工具,先讲一下它的应用场景,然后咱们再来讲它具体该怎么去使用。啊,这个啊,咱说的第一个,然后写一下这个can。叫数据同步工具。首先第一个。我们先讲一下这个工具的一个应用的一个。场景到底是怎么样的,也就是说咱们在什么时候来用这个东西。那这个啊,咱们先看一下我的课件中,然后给各位画个图,咱详细做个解释,把课件看一下啊,这个笔记一会会重新共享一下,因为里边改了一点内容,咱们进入到第十期里边的第一个这个文档,那我们看一下啊,里边有这么一个应用的场景。
01:10
我这里写到啊,大家注意,就是咱们在前面的统计非析模块中,咱是采用这种服务调用,也就是远程调用过程,然后得到数据再进行添加,也就是我们之前咱是通过sta去调这个U3头,然后得到数据,最终把数据再加到我们的数据库中,就是这么做功能肯定没有错,但是这么做有个缺点,什么缺点呢?就是它的耦合度比较高,效率也相对较低,这咱现在用can主要是干什么的呢?也就是说你可以把远程库中的那个数据表中的内容同步到咱的本地库里边,然后我们直接操作本地库就能实现这个过程,这么做效率更加高效,而can主要就是做这个事情的,那这个过程我给大家在图上咱们再画一下啊,就这过程怎么做到的。
02:09
我这里啊,咱这么来画啊。比如说啊,我现在有这么两个模块啊,咱们有两模块,第一个模块,假如说就是我们这个叫。Edu。这个sta啊,就是这个统计分模块,第一个模块,比如说咱还有第二模块叫e Du,这个u center,就是咱们的用户模块,那按照我们操作中,因为咱们在实际的操作中经常会做件事情。什么事情呢,就叫做分库的这么一个操作。什么叫分库给大家啊,我来解释一下啊,比如说我现在啊,在edusta这是一个统计模块,那我们现在就可以把统计模块数据存到一个数据库中,也就这么来写啊,假如说统计模块它的数据库也如就是这个叫e duta是数据库,然后里边比如有我们那个数据库表,而我的EU3中,假如我们现在也是有一个数据库。
03:12
比如它的数据库就叫edu center,咱做一个分库的处理,也就是说啊,咱们之前为了方便,我把所有表是不是放到一个库中,但是在实际中,我们经常是每个服专门建个数据库,比如我这里边,假如说简单举个例子啊,比如现在我的edu,那我建个模块叫edu,比如sta。这是一个数据库,里边专门存咱统计的这些数据,然后比如说现在我再建个数据库叫edu center,这数据库中专门从我里边那个用户信息,所以大家看现在是不是有两个数据库,而我们按照咱们就是我们上这个处理方式,咱们在u center里边得到数据,Sta通过远程调用,比如你通过远程调用调这个库中内容,这么做是没有错的,但是它有这么些缺点。
04:07
啊,那我画一下啊,就这里边,比如我们有两个数据库,咱肯定是通过eduta这个库中去调用你的这个U3这个库里内容,然后最终调用的数据啊,咱之前是这么一种模拟过程。而这么做呢,功能肯定可以实现,功能是没有错的,但是它的缺点是什么呢?因为你要调不同库里边,而我们在实际中这么一个场景,假如说实际项目中,比如说你的项目比较大,那这个sta假如说是由你这个公司开发的,你公司为他建了数据库,而u center,比如U3特是由百度开发的,假如说啊是百度共开发的,那百度有它数据库,那这个时候因为你的这个公司肯定不可能去直接访问百度数据库,所以必须要用到远程调用过程才能做到啊,这是还有一个场景,而这个过程缺点就是第一个你要让他这么做的话,耦合度很高,第二个你才要调远程库,它的效率也并不是很高,所以它有这些问题,而我们在实际中,我们还可以怎么做呢?就是用到咱们今天说这个东西叫数据同步工具,那怎么叫数据同步工具呢?举个例子啊。
05:24
假如我现在。在我这个edu center里边,然后一张表,这个表比如我叫users,那怎么做咱就可以啊,把这个表同步到我这个e dust中,就是同步你这个右侧表。而怎么做呢?我们在edust中可以创建一张跟这数据库中相同的一个表结构,而这里边当你这个表中的数据发生变化,我这个表会同步跟着变化。比如说我们向列表中加一条数据,这表中也会同步加个数据,这个数据你做了修改,那这个数据也会跟着修改,这个叫数据同步,也就是说你远程库中的表发生变化,我本地库中表会跟着发生变化,你加了数据,我这里边会添加,你改了数据,我这里边会修改,让你数据做同步,而这么做之后,那我们再操作,咱直接操作本地库,而就不需要再做这种远程调用过程。
06:27
啊,这是我们一个实习场景,也就是把远程库中内容同步到我的本地库中,然后做这个操作,这个啊叫做数据同步。这各位都知道啊,我再举个例子啊,比如说你现在啊,就是我上节课举的例子啊,比如现在我们要去访问那个移动的数据库,想得到里面数据,那怎么做呢?咱就可以把移动数据库中一些核心部分同步到我的本库中,当那里面发生变化,那我本地库也会跟着发生变化,这过程就叫数据同步,把远程库中内容同步到咱的本地库中。
07:04
这称为数据同步,我想这个位置啊,远程库里边的这种同步到本地的。获利变。这个啊,是咱们说的这么一个场景。所以大家把这个给他知道啊。其实这个过程呢,如果要说的更具体点,它是大数据中这种实验过程啊,但是我们在Java中这个过程咱们也会经常用到,所以大家把这个给他知道啊,就用看做一个数据同步,你可以把远程库中内容同步到咱的本地里面去。这个啊,咱做这个介绍,关于这个什么叫数据同步,大家把它也做个了解,因为在很多实际开发中也经常会做到这种场景。那这个怎么做,咱看一下我的课件中啊,我这里写到,如果说你的数据同步这个can到就是一个很好的工具,而看到是什么呢?我这里写的很清楚,它是这个公司一个项目。
08:07
这个公司是谁?就咱们一直熟悉的阿里巴巴,而这个cano是阿里巴巴中一个项目,它是用Java开发的,可以做到咱们数据同步工具,就是目前这个can只支持谁买circle,别的数据库它还不支持,因为咱们用的是买circle,所以用can做这个数据同步应该说更加的方便。这个啊,是咱们说的这么一个应用场景,关于Kindle主要是干什么的,以及它的这个特点。我把这句话啊给大家也顺过来啊,就到这里。Canon是阿里巴巴TV开源项目,它是基于纯Java开发的,而它目前只支持咱们这个买circle数据库。这个啊,我们做了一个介绍啊,关于什么叫看到。还有它的应用场景。
09:01
大家把这个给他知道啊。然后这张图我先保存一下啊,咱们的第二个。这个candle。数据同步的。它的应用场景,这咱们就说完了啊,然后说完之后,下面咱们就来做个演示,来演示一下这数据同步这过程是什么样的,包括他该怎么去做,要各位把这过程自己能在自己电脑中给他最终能测出来。
我来说两句