数据库的三层结构是什么?

数据库的三层结构是什么?,第1张

所谓三层体系结构,是在客户端与数据库之间加入了一个中间层。三层体系不是指物理上的三层,不是简单地放置三台机器就是三层体系,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系结构的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过与中间层通讯建立连接,再经由中间层与数据库进行交互。
在基于B/S的三层体系结构中,表示层、中间层、数据层被分割成三个相对独立的单元。
表示层(Browser)位于客户端,一般没有应用程序,借助于Javaapplet、Actives、Javascript、vbscript等技术可以处理一些简单的客户端处理逻辑。它负责由Web浏览器向网络上的Web服务器(即中间层)发出服务请求,把接受传来的运行结果显示在Web浏览器上。
中间层(WebServer)是用户服务和数据服务的逻辑桥梁。它负责接受远程或本地的用户请求,对用户身份和数据库存取权限进行验证,运用服务器脚本,借助于中间件把请求发送到数据库服务器(即数据层),把数据库服务器返回的数据经过逻辑处理并转换成HTML及各种脚本传回客户端。
数据层(DBServer)位于最底层,它负责管理数据库,接受Web服务器对数据库 *** 纵的请求,实现对数据库查询、修改、更新等功能及相关服务,并把结果数据提交给Web服务器。
在三层结构中,数据计算与业务处理集中在中间层,只有中间层实现正式的进程和逻辑规则。

一. 准备服务器

准备两台主机,分别安装好Mysql (要相同版本),确定版本无误,确保mysql服务正常启动,确保两台主机处于同一个局域网中,确定好哪台做为主、备机器,假设A为主机,B为备机,假设:

A主机IP地址为:172161690 端口3306

B主机IP地址为: 172169998 端口3306

二. Mysql建立主-从服务器热备配置步骤

1 创建同步用户

进入MySql *** 作界面,在主服务器上为从服务器建立一个连接帐户,该帐户必须授予REPLICATION SLAVE权限。

*** 作指令如下:

1) grant select,replication slave on to 'replicate'@'172169998' identified by '1234567';

2) flush privileges;

2 修改Mysql配置

如果上面的准备工作做好,就可以进行对Mysql配置文件进行修改了,首先找到主服务器Mysql安装文件所有在目录,找到myini文件用记事本打开。在[mysqld]下增加如下内容:

server-id = 1

log-bin=mysql-bin

binlog-do-db =test   #需要备份的数据库,多个写多行

binlog-ignore-db = mysql      #不需要备份的数据库,多个写多行

3 重启mysql服务

修改完配置文件保存后,重启一下mysql服务。

4 查看主服务器状态

进入A服务器Mysql 客户端输入命令

1)Show master STATUS;

2)返回结果如下:

注意看里面的参数,特别前面两个File和Position,在从服务器(Slave)配置主从关系会有用到的。

5 从服务器Slave配置修改配置文件

因为这里面是以主-从方式实现mysql双机热备的,所以在从服务器就不用在建立同步帐户了,直接打开配置文件myini进行修改即可,道理还是同修改主服务器上的一样,只不过需要修改的参数不一样。

如下:

[mysqld]

server-id = 2

log-bin=mysql-bin

replicate-do-db = test

replicate-ignore-db =mysql

6 重启mysql服务

修改完配置文件保存后,重启一下mysql服务。

7 配置从服务器

先停止slave服务线程,这个是很重要的,如果不这样做会造成下面 *** 作不成功,再用change mster 语句指定同步位置, *** 作如下:

1) stop slave;

2) change master to master_host='172161690',

master_user='replicate',master_password='1234567',master_port=3306,

master_log_file='mysql-bin000001',master_log_pos=98;

3) start slave

4) show slave status

查看下面两项值均为Yes,即表示设置从服务器成功。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

txsgl主从配置是指Triton Xstream Server的主从配置,用于实现主从服务器之间的数据同步。主从配置的特点是,主服务器可以处理用户请求,从服务器负责从主服务器上复制数据。这样,主服务器可以实现高性能、高可用性,从服务器也可以实现备份、复制功能。txsgl主从配置的步骤主要包括:1、安装和配置好txsgl服务器;2、启动txsgl服务;3、创建主从关系;4、设置复制功能;5、配置备份功能;6、开启复制过程;7、开启备份过程;8、测试主从配置是否正常。

在主服务器与从服务器之间进行数据复制,分为两种方式:完整的重同步(full resynchronization)和部分的重同步(partial resynchronization)。

主服务器 创建 发送RDB文件 ,以及向从服务器发送保存在 缓冲区 里面的写命令来进行同步。
完整的重同步创建RDB文件、发送RDB文件会消耗主服务器的CPU、内存和磁盘IO等资源,同时也会占用大量的网络带宽和流量。在实际中,有时完整的重同步是没有必要的,例如当从服务器与主服务器网络连接断开时间很短,数据的不一致可能就是为数不多的几条写命令,这时却要进行全量数据的复制,显然是资源的浪费。其实只需要将断开连接期间的数据进行同步就可以完成数据的一致性。

完整的重同步只应该用于首次复制,或者万不得已需要全量复制时才执行。

针对完整的重同步的缺陷,Redis提供了部分的重同步功能。

部分的重同步功能涉及到三个部分:

部分的重同步过程:

主服务器通过向从服务器传播命令来更新从服务器的状态,保持主从服务器一致,而从服务器通过向主服务器发送命令来进行心跳检测,以及命令丢失检测。
在命令传播阶段,从服务器默认会以每秒一次的频率,向主服务器发送命令心跳。用于检测主从之间的网络连接状态,以及检测传播的命令是否丢失等。

1 可以只同步表,参见参数 replicate-wild-do-table , replicate_wild_ignore_table
2 互为主从
3 主键要全局唯一id获取,可以用一张表来管理各表的主键id,不要使用自增类型字段作为主键


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13461793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-11
下一篇 2023-08-11

发表评论

登录后才能评论

评论列表(0条)

保存