b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

解释几种常用的(封闭源,开放源)关系的体系结构和实现原理

电脑杂谈  发布时间:2020-09-04 20:13:00  来源:网络整理

开源内存_开源内存_开源分布式内存

一、甲骨文

([一) Oracle体系结构

Oracle Server包括两个部分:和实例,它们彼此独立。该由数据文件,控制文件和日志文件组成。该实例由内存池和后台进程组成。原理图如下:

一个Oracle Server可以创建多个,并且不同的彼此独立。每个都有自己完整的相关文件集,例如:密码文件,参数文件,数据文件,控制文件和日志文件

由一系列物理文件(例如二维表文件)组成。用户无法直接读取的内容,必须通过Oracle实例读取它们。一个实例只能连接到一个,但是一个可以由多个实例连接。

每个功能组件的描述如下:

1、用户连接过程

用户连接过程是用户与Oracle实例之间的桥梁。包括:用户流程,服务流程和PGA

当用户请求连接到Oracle Server时,由Oracle Server创建的用户进程。

用于处理用户和Oracle Server之间的连接。

PGA:由服务器进程分配,并在当前用户会话的内存区域中使用。不同的用户具有不同的PGA。 PGA包含服务器进程数据和控制信息的存储区。包括堆栈空间,会话信息和专用SQL区域。

2、 SGA(系统全局区域)

SGA与Oracle性能密切相关。在实例启动时分配它,在实例关闭时释放它。它主要包括以下数据结构:

oracle执行SQL语句的区域。在执行数据更新或数据查询时,用户执行的SQL语句不会直接修改磁盘上的数据文件,而是先将数据文件复制到缓冲区高速缓存中,然后修改或查询高速缓存中的副本。此外,缓冲区高速缓存中还将存在频繁访问的数据块。

用于短期存储重做日志。

用于缓存所有经常执行的代码和经常访问的对象定义。共享池中有以下三种数据结构:

库缓存:存储最近执行的代码

数据字典缓存:存储最近使用的对象定义

PL / SQL缓冲区(PL / SQL缓冲区):用于存储过程,函数,打包过程,打包函数,对象类型定义和触发器。

服务器共享进程。

仅当应用程序需要运行中的Java存储程序时,才需要Java池。

3、背景流程

背景流程主要用于管理,并且是Oracle实例与Oracle之间的链接。它们分为核心流程和非核心流程。

1)核心流程:

服务器进程连接到Oracle之后,数据缓冲区中“脏缓冲区”的数据块将通过写入过程(DBWn)写入数据文件;

检查点(CKPT)检查点过程主要用于更新数据文件头,更新控制文件并触发DBWn写入过程。

当后台进程执行失败时,它负责清理缓存和空闲资源,这是Oracle的自动维护机制。

目的如下:

当实例崩溃时,它用于自动恢复实例。

清除无效的临时段排序,回收和碎片整理,合并可用空间,释放临时段并保持闪回时间点。

它用于记录更改以及更改之前的原始状态。满足以下条件时,将激活LGWR:

提交说明

日志缓冲区超过1/3

每三秒钟

每次执行DBWn之前

2)非核心流程

是可选的后台进程。当处于ArchiveLog模式时,重做日志将自动存档,并保存的所有修改记录。

SGA(系统全局区域)和后台进程形成实例。

4、存储结构

从物理结构和逻辑结构上都可以理解存储结构。

1)物理结构

物理结构:是操作系统中的文件集合,即:磁盘上的物理文件,主要由数据文件,控制文件,重做日志文件,归档日志文件,参数文件组成以及密码文件。

数据文件,重做日志文件,控制文件,跟踪文件和警告文件属于文件

数据文件是数据存储仓库,仅在使用数据时才将数据传输到内存中。

重做日志文件包含对所做的更改的记录,如果Oracle发生故障,该记录可以恢复数据。

控制文件包含维护和验证完整性所必需的信息。例如,控制文件用于标识数据文件和重做日志文件,而至少需要一个控制文件。

实例中运行的每个后台进程都连接了一个跟踪文件。跟踪文件记录有关后台进程遇到的重大事件的信息。

是一个特殊的跟踪文件。每个都有一个跟踪文件,可同时记录消息和错误。

参数文件,密码文件和归档文件是非文件。

开源内存_开源内存_开源分布式内存

实例参数文件。启动oracle实例时,SGA结构将根据此参数文件设置内存,并且后台进程将相应地启动。

用户通过提交用户名/密码来建立会话,Oracle会根据数据字典中存储的用户定义来验证用户名和密码。

是重做日志文件的脱机副本,对于从介质故障中恢复可能是必需的。

2)逻辑结构

用于存储对象的逻辑空间是信息存储的最大逻辑单元,并且是一系列数据文件的集合。一个可以由多个表空间组成,每个表空间包括多个段。

是中对象占用的空间。细分是地区的集合

这是一次大的数据存储空间,该区域是块的集合

在创建时指定了ORACLE的最基本存储单元,并将其映射到磁盘块。

3)从逻辑空间到物理空间的映射

(二) Oracle RDBMS的运行过程

1.用户在访问Oracle Server之前提交了一个请求(包括db_name,密码,instance_name,用户名和其他信息);

2. Oracle Server收到请求并通过密码文件验证后,将分配SGA内存池,启动后台进程,并同时创建和启动实例;

3.启动实例后,用户进程和服务器进程建立连接;

4.服务器进程和Oracle实例建立Sesscion,然后接收用户请求并执行相关操作;

([三)编写SQL语句的执行过程

1.用户执行SQL语句后,服务器进程将SQL语句发送到实例,然后将SQL语句加载到缓冲区中。

2.服务器进程通知Oracle将与SQL语句相关的数据块的副本加载到缓冲区中。

3.在缓存区中执行SQL语句,修改数据文件的副本,并形成“脏缓冲区”

4. CKPT检测到“脏缓冲区”并调用DBWn写入过程,

5.在运行DBWn之前,先运行LGWR,并将数据文件的原始状态和的更改记录到重做日志文件中

6.运行DBWn并将“脏缓冲区的内容写入数据文件”

7.使用CKPT同时修改控制文件和数据文件头

8. SMON回收了不必要的空闲资源

9.将结果返回给用户

([四) Oracle的高可用性架构

1. Oracle RAC(实际应用集群)

RAC是Oracle的集群解决方案,包括计算层和存储层。如下图所示:

1)存储层共享存储

Oracle RAC的核心是共享磁盘子系统。群集中的所有节点都必须能够访问所有数据文件,重做日志文件,控制文件和参数文件。因此,这些文件必须存储在共享存储中。常用的共享存储方法为OCFS,OCFS 2、 RAW,NFS,ASM等。说明如下:

OCFS(Oracle群集文件系统)和OCFS2都是文件系统。像NFS一样,它们为群集环境中的共享存储提供文件系统。

RAW原始设备也是一种存储方法。将共享存储映射到RAW设备。当Oracle存储数据时,选择RAW设备存储。但是与文件系统相比,RAW不直观,不易于管理且数量有限。它已被OCFS取代。

ASM是存储解决方案,而不是集群解决方案。使用ASM时,还需要使用OCFS / OCFS2或RAW。

2)计算层

计算层至少需要两台服务器,并且每台服务器上都安装了集群软件和Oracle RAC组件。从逻辑结构的角度来看,每个节点都有一个独立的实例,可以访问同一。节点通过集群软件的通信层进行通信,并使用缓存合并技术实现集群中节点的缓存的高速同步,从而集群中的每个实例都保留相同的缓存。以便最小化磁盘I / O。因此,RAC具有以下特征:

每个节点实例都有自己的SGA;

每个节点实例都有自己的后台进程

每个节点的强度都有自己的重做日志

每个节点实例都有其自己的撤消表空间

所有节点共享一个数据文件和控制文件

2、 Data Guard

在Data Gurad环境中,至少有两个,一个主(Primary Database)处于打开状态,另一个备用(Standby Database)处于备用状态。

备用库分为物理库和逻辑库。物理库与主库完全相同。 REDO应用程序用于维护与主库的数据一致性,并支持只读服务。逻辑库使用SQL应用程序执行与备用上的主库相同的SQL语句,以维护主库的数据一致,因此文件的物理结构(甚至是数据的逻辑结构)可以是与主库不一致。逻辑库支持读写服务。

Data Guard适用于多机房解决方案。在实际部署中,主部署在主机房中,而备用部署在其他机房中。

二、 MySQL

([一) MySQL体系结构

1、连接器(连接器)

MySQL提供的接口(例如java,.net,php和其他语言)可以使用此组件来操纵SQL语句并实现与SQL的交互。

开源分布式内存_开源内存_开源内存

2、管理服务和实用程序(管理服务和实用程序)

提供MySQL的集成管理,例如备份(Backup),恢复(Recovery),安全管理(Security)等。

3、连接池组件(连接池)

负责监视从客户端到MySQL Server的各种请求,接收请求以及将请求转发到目标模块。每个成功连接到MySQL Server的客户端请求都将被创建或分配一个线程,该线程负责客户端与MySQL Server之间的通信,接收客户端发送的命令并传输服务器的结果信息。

4、 SQL接口(SQL接口)

接收用户SQL命令(例如DML,DDL和存储过程),并将最终结果返回给用户。

5、查询解析器组件(解析器)

首先分析SQL命令语法的合法性,然后尝试将SQL命令分解为数据结构。如果分解失败,则SQL语句不合理。

6、 Optimizer组件(Optimizer)

按照标准过程优化和分析SQL命令。

7、缓存和缓冲区(缓存和缓冲区)

缓存和缓冲组件

8、 MySQL存储引擎

MySQL属于关系,关系的存储形式为表。表的创建,数据存储,检索和更新都由MySQL存储引擎完成。

由于MySQL的开源特性,允许第三方基于MySQL框架开发适合其业务需求的存储引擎。因此,MySQL支持多种类型的存储引擎,可以分为官方存储引擎和第三方存储引擎。

当前,MySQL的存储引擎包括MyISAM,InnoDB,NDB,存档,联合,内存,合并,伙伴,社区,自定义等。其中,更常用的存储引擎包括InnoDB,MyISAM和Momery。

9、物理文件(文件系统)

实际上存储MySQL文件和一些日志文件的系统,例如Linux,Unix,Windows等。

(二)查询流程图

([三) MySQL的高可用性架构

由于MySQL的开源特性,其高可用性架构非常灵活。当前,通常使用以下类型:

1、主从复制模式

这是MySQL本身提供的高度可用的解决方案。数据同步方法使用MySQL复制技术。为了获得更高的可用性,在实际的应用环境中,有必要配合不断升级的高可用性集群软件来实现自动故障转移,否则需要进行手动切换。

2、 MHA(主高可用性)

MHA是一种相对成熟的高可用性解决方案。该软件包括两部分:MHA管理器(管理节点)和MHA节点(数据节点)。构建MHA时,群集必须至少具有三个服务器,一个主服务器和两个从属服务器(即一个主服务器,一个备用主服务器和另一个从属服务器)。

MHA Manager可以部署在单独的计算机上以管理多个主从集群,也可以部署在一个从节点上,并且MHA节点在每台MySQL服务器上运行。

运行时,MHA Manager将定期检测群集中的主节点。当主服务器发生故障时,它将自动将具有最新数据的从服务器升级到新的主服务器,然后将所有其他从服务器重定向到新的主服务器。整个故障转移过程对应用程序是完全透明的。整个切换过程如下:

保存崩溃的主机中的binlog事件;

标识具有最新更新的从站;

将差分继电器日志应用于其他从站;

应用从主保存的二进制日志事件(binlog事件);

将奴隶提升为新主人;

让其他从服务器连接到新的主服务器进行复制;

3、 MGR(MySQL组复制)

MGR是MySQL官方推荐的另一种高度可用的体系结构。复制组之间的数据同步基于Paxos协议。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-313924-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 赵争杰
      赵争杰

      并不是什么耻辱

    • 闫旭洲
      闫旭洲

      还说什么别轻举妄动

    • 沈韬文
      沈韬文

      中国几十年前就打过3--4次好不好

    热点图片
    拼命载入中...