00:00
呃,各位同学好,今天将由磊哥带领各位咱们学习一下my cat啊,那先研究一下买cat是什么啊,有同学说是我的猫是吧?啊这块呢,还有同学说,诶这是不是跟my circle跟买诶Tom cat有点关系啊啊这块哎没有关系啊买cat是一个什么呢?诶一项咱们必须要掌握的技能,一项什么呢?咱们必须要掌握的软件,它叫数据库中间键啊,这是它的定义,数据库中间键咱们做一个分词,分成两个词,数据库和中间键,那中间键到底是一个什么东西啊?哎,咱们看一下,呃中间键顾名思义,我在中间的这么一个软件,那既然在中间,必然左边连接一个,右边也连接一个啊这就是咱们啊,它中间键的一个什么呢定义,那这块呢,咱们看一下官方定义啊,数据库中间键,咱们先看中间键,中间键是什么东西,是依赖连接软件组件和应用的计算。
01:00
很基于软件啊,这个干什么用,以便于软件各部分之间的沟通啊,这是啊官方的一个定义啊,咱们最熟悉的诶应该是他谁Tom k啊,它叫什么的外部中间键连接的一端是咱们的什么呢?客户端,另外一端是咱们的服务端啊,这就是咱们的中间键的一个理解,那是不是还有什么是不是数据库中间键啊的,顾名思义了,我这个中间键一端连接的肯定是有什么咱的数据库,另外一端连接的是谁?各位就是咱们的Java应用啊,这就是咱们的数据库中间键的一个定义,各位这块必须要了解my cat是什么,诶那这块了解是什么之后,下面就咱们就得研究一下啊,诶我为什么要用my cat,哎,为什么要用my cat。咱们为什么要用它啊,首先啊,咱们发布咱们的Java程序首先要有什么?哎,是不是先得有咱们的Java应用啊,哎,这块呢,哎,Java应用学生,哎,除了Java应用啊,咱们但凡是什么功能比较多的系统应用必须要有什么?哎,咱们是不是必须要有呃,数据库啊啊咱们的数据库必须得要有啊,咱们买SQL数据库好啊有什么应用,有数据库这块通过什么呢?应用程序,哎去操作数据库,查询数据,写入数据啊,完成整个咱们的系统应用功能,这块存在一些问题,什么问题呢?咱们看看首先第一个问题啊,咱们的Java应用程序是直接连到了咱们的MYSQL数据库啊这块,诶Java与数据库。
02:51
新人偶合。哎,这是一个问题啊,你是做什么的,紧耦合的,然后还有什么咱们再看啊,除了紧耦合,咱们的Java应用程序要放在哪儿,是不是要放在咱们的互联网上,既然放在互联网上就有什么问题,没错,高放量高并发啊,这也是咱们逃不开的问题。
03:17
好,高访量高并发咱们逃不开啊,这块呢,哎,这块对于你什么数据库有一定的压力了啊高访问量高并发对数据库的压力,这个问题怎么解决啊,除了这个哎这两个问题还有什么,哎,比如说啊,咱们要在电商平台上,哎挑要去挑一个什么呢?游戏笔记本啊,我要什么呢?买一个游戏笔记本,这块呢,我相信各位你们去买是不?诶我这。搜到一个诶靠谱的品牌,我直接下单买了吗?不是吧,各位每回都是什么呢?诶咱们要在这个诶电商平台上去查看什么呢?查看这个笔记本的性能,查看它对应的什么呢?相应的描述,还有哎必不可少的哎买家秀咱们要看看差评对吧?看看啊到底是什么原因,存在不存在一些隐患问题啊咱们的什么呢?哎,这个售后有没有问题,这些咱们都需要去什么呢?去看一看,然后之后还有什么呢?咱们横向对比一下,跟什么呢?跟别的品牌,诶我要进行一下对比啊这块看完对比之后,咱们还要做什么?诶直接下单了吗?也不是,咱们是不是耐心等待,等待它各个节日的活动啊,咱们要用什么呢?花最少的钱买到最满意的产品,对,还有一个问题,是不是但凡咱们的互联网应用上面啊,这块什么呢?哎,它的读请求跟写请求的什么呢?哎数据量是不是不一样啊,哎这块,哎同样对于咱们数据库的,哎这块压。
04:55
也有读写请求。
05:00
数据不一致,哎,那这块问题怎么解决?那这块呢,哎咱们先看啊这扎va与什么呢?咱们数据库仅耦合,那必然咱们的Java程序里面是不是要有你数据库相关的配置啊,啊这块呢,诶这块但凡你这个数据库出现问题了啊,比如说数据库挂了,那怎么办啊这块儿呢?哎突然什么呢,主机挂了,我这数据库访问不到了,这时候怎么办啊,有同学说老师啊,这还难得倒我们吗?哎,我们已经学了这么多了,知道可以什么呢?是不是来一个被机被机上线啊做一个什么呢?主备的这种什么呢?切换就可以了,那这块有问题啊,什么问题?诶你这块主备进行切换的时候,你Java这块的配置信息需要不需要改这块的紧耦合,哎你没办法破,那怎么办?各位啊,这是一个问题,咱们啊怎么去破这个紧耦合,还有呢,哎。
06:00
这块诶我这个数据库的访问压力也存在着,但凡放在公网上面,高访量高并发,这种压力怎么去解决?有同学说老师这也难不住啊,我可以做什么?哎,我可以来多个数据库啊,我这个每个数据库抗抗压能力啊有限,我是不是可以来多个数据库啊,这样的好处是什么?是不是兄弟多了咱们什么呢?是不是一块儿扛对吧?哎,多个数据库,那这块同样在Java程序这里面,是不是要配多个数据啊,而且这块呢,诶你做什么呢?数据的一个,诶分布式啊,每个数据库里面存不同的数据,这块呢,诶你配的数据源啊,配好了你Java应用程序里面是不是也根要根据不同的表去查不同的数据源发到不同的数据库啊。啊,这个是不是也很麻烦啊,紧耦合还有这个并发压力,那怎么去解决各位咱们啊,这块最好别有紧耦合啊,这块呢,哎,在中间啊,咱们放个东西,也就是咱们诶今天要讲的数据库中间键谁my cat啊,这就是咱们的今天的主角买cat它能起到作用,哎,它有什么作用呢?哎,我Java不用再管什么呢,你数据库相关的配置了,这个配置项交给谁啊,咱们放到买catt里面,有买catt去了解这块,呃,我账va应用只需要访问我买cat一个就可以了啊相当于我就访问这一个数据源啊之后呢,我买单后面有几个数据库,诶怎么去分配的这块呢?咱们Java应用程序不需要管,那解决了咱们这个数据库紧耦合的这个问题,那还有高访问量高并发这块呢?
07:48
那我配多个数据库这块呢,也还是在咱们的什么呢,买cat后面我进行相应的配置,这块呢,诶我进行扩展,我进行相应的什么呢?哎,多数据库的一个配置,这样呢,哎,我Java应用程序啊,也不需要管我这块后面到底几个数据库,只访问我一个my cat就可以,这就是咱们的数据库中间键一端连咱们的数据库一端连什么的咱们的诶Java应用,这就是咱们的maca还没完啊,之后咱们是不是说了读写请求数据不一致啊,那这块怎么办啊,我可以这么去做啊,我一台什么的,一台数据库专门负责咱们的什么呢?写请求而什么呢?诶上面这两台,哎,我这块多台数据库负责什么呢?诶读请求,因为什么读请求是不是比咱们的写请求诶。
08:43
数据量要大得多呀,这就是为什么咱们要来多谈这块呢?哎,一个写多个读啊,这块读写进行分离,这样同样缓解了咱们的什么呢?哎,数据库的压力啊,这块进行分工,哎让咱们的Java应用程序访问更快,那这块呢,哎,我JA应用程序也不需要管,诶我哪个诶select语句发到哪台数据库里面啊,我的什么呢?所有的写操作啊,以set update这些操作发到哪个数据库里面,全都由我们MY去进行管理啊,这就是咱们的,哎这块对应的my cat提供的奇耦的操作,哎这块解决了这什么呢?诶高访量高并发的数据库压力,还有对于数据啊,读写请求不一致的一个相应的分配,而且这块还得再说一句,咱们读写请求除了买CAD做一个分发,还有一个事儿,你这个数据是不是得保证一致啊,咱们保证数据一致是不是还得有一。
09:43
个什么主从复制啊,从协助机复制到读主机啊,这就是啊买cat它的作用相当于是什么?哎,咱们是不是在买cat这块,哎,我搭起一个逻辑数据库啊,哎,逻辑数据库做了什么事儿,咱们是不是把后面的所有的这些什么真实数据库我全都包起来了啊这样的好处是什么?是不是对于我账号程序面对的只是咱们一个买开的数据源,而后面真正有多少个数据库不需要去管?诶各位是不是觉得有点熟悉啊,像这种架构有点像什么?各位是不是咱们之前学过的ningx啊NX它的特点是什么?诶最基本功能反向代理,负载均衡,动静分离,它也是啊,这块呢?诶我对应的访问客户端请求来了,看到的只是我Ning,诶,它后面是不是还有什么多台主机,这样是不是缓解咱们每一个什么呢?诶咱们的整个发布的外部应用的。
10:43
的压力啊,这块每一个客户端请求过来都会什么呢?访问的更快啊,这同样咱们的my cat也一样,各位联想记忆联想咱们的什么的学过的知识,跟咱们的什么的新的知识进行个对比,进行记忆,好这就是my cat,诶,咱们为什么要用它,好啊,以上咱们了解了一下买看的是什么,以及了解了一下什么呢?咱们为什么要用它。
我来说两句