‘壹’ 数据库中简述kip协议的工作原理
首先要说它是链路状态协议,是基于spf算法中的dijkstra算法的
再说邻居发现协议的整个过程
router发送hello包给组播地址224.0.0.5,然后是邻居的路由就会回复,进而建立邻居关系
然后osfp会进行链路状态数据库(lsdb)的交换和更新过程,进而使整个区域中的全部路由器都有一张相同的链路状态表,就是lsdb
基于lsdb再结合dijkstra算法,计算出来无环的路由信息也就是spf树,然后路由器根据spf树选择出最佳路径,将这个路径加入到其路由表中
‘贰’ 数据库构建流程
构建相山地区地学空间数据库是在对各类原始数据或图件资料进行整理、编辑、处理的基础上,将各类数据或图形进行按空间位置整合的过程。其工作流程见图 2.1。
图2.1 相山地区多源地学空间数据库构建流程
2.2.1 资料收集
相山地区有 40 多年的铀矿勘查和研究历史,积累了大量地质生产或科学研究资料。笔者收集的面上的资料包括原始的离散数据如航空放射性伽玛能谱数据、航磁数据、山地重力测量数据、ETM 数据,而地面高精度磁测资料仅收集到文字报告和图件。上述各类数据均可达到制作 1∶50000 图件的要求。地质图采用 1995 年核工业 270 研究所等单位共同实施完成的 “相山火山岩型富大铀矿找矿模式及攻深方法技术研究”项目的 1∶50000附图; 采用的 1∶50000 地形图的情况见表 2.1。
2.2.2 图层划分
GIS 数据库既要存储和管理属性数据和空间数据,又要存储和管理空间拓扑关系数据。数据层原理: 大多数 GIS 都是将数据按照逻辑类型分成不同的数据层进行组织,即按空间数据逻辑或专业属性分为各种逻辑数据类型或专业数据层。相山地区数字化地质图包括地理要素和地质要素两大部分,共设置 9 个图层,每一图层 (包括点、线或多边形) 自动创建与之相对应的属性表。
表2.1 采用的地形图情况一览表
注: 坐标系均为 1954 年北京坐标系,1956 年黄海高程系,等高距为 10 m。
(1) 水系图层 (L6XS01) : 包括双线河流、单线河流、水库或水塘。
(2) 交通及居民地图层 (L6XS02) : 包括公路和主要自然村及名称。
(3) 地形等高线图层 (L6XS03) : 包括地形等高线及高程和山峰高程点。
(4) 盖层图层 (D6XS04) : 包括第四系 (Q) 和上白垩统南雄组 (K2n) 及其厚度和主要岩性。
(5) 火山岩系图层 (L6XS05) : 包括下白垩统打鼓顶组 (K1d) 、鹅湖岭组 (K1e) 及各种浅成- 超浅成侵入体 (次火山岩体) 的分布和主要岩性特征。
(6) 基底图层 (L6XS06) : 含下三叠统安源组 (T3a) 、震旦系 (Z) 、燕山早期花岗岩 (γ5) 、加里东期花岗岩 (γ3) 。
(7) 构造图层 (L6XS07) : 相山地区褶皱构造不发育,构造图层主要包括实测的和遥感影像解译的线性断裂或环形构造。
(8) 矿产图层 (L6XS08) : 包括大、中、小型铀矿床和矿点。
(9) 图框及图幅基本信息图层 (L6XS09) : 数字化地质图的总体描述,内容包括图框、角点坐标、涉及的 1∶500000 标准图幅编号、调查单位及出版年代等。
图层名编码结构如下:
相山铀矿田多源地学信息示范应用
2.2.3 图形输入
图形输入或称图形数字化,是将图形信息数据化,转变成按一定数据结构及类型组成的数字化图形。MapGIS 提供智能扫描矢量化和数字化两种输入方式。本次采用扫描矢量化输入,按点、线参数表事先设定缺省参数,分别将地形底图和地质底图扫描成栅格图像的 TIF 文件,按照图层划分原则,在计算机内分层进行矢量化。线型、花纹、色标、符号等均按 《数字化地质图图层及属性文件格式》行业标准执行。
对于已建立的图层,按点、线、多边形分别编辑修改,结合地质图、地形图及相关地质报告,采集添加有关属性数据,用以表示各图层点、线、多边形的特征。拓扑处理前先将多边形的地质界线校正到标准图框内进行修改,去掉与当前图层区域边界无关的线或点。对于图幅边部不封闭的区域,采用图框线作为多边形的边界线,使图幅内的多边形均成为封闭的多边形。拓扑处理后进行图形数据与属性数据挂接。
在 MapGIS 实用服务子系统误差校正模块中,将数字化地图校正到统一的大地坐标系统中。图形数据库采用高斯-克吕格 (6 度带) 投影系统,椭球参数: 北京54/克拉索夫斯基。
MapGIS 数据文件交换功能使系统内部的矢量图层很容易实现 Shape 和 Coverage 等文件格式的转换。在图形处理模块将上述各图层转成 Shape 文件格式。
2.2.4 离散数据网格化
在收集的原始资料中,除 1∶50000 地形图和地质图之外,航空放射性伽玛能谱数据(包括原始的和去条带处理后的数据) 、航磁数据、山地重力测量数据都是离散的二维表格数据。用 GeoExpl 网格化。GeoExpl 数据处理与分析系统提供了多种网格化计算的数学方法,本次选用克立格插值方法,网格间距 15 m。重力和航磁数据网格化后,进行不同方向或不同深度的延拓处理。所有网格化数据均采用了与上述图形数据相同的地图投影和坐标系统。
2.2.5 网格化数据影像化
MapGIS 网格化文件格式为 grd,可直接被 Erdas Imagine 读取,GeoExpl 网格化文件包括重磁处理反演后的网格化文件可转换成 Surfer.grd 后,被 Erdas Imagine 读取。然后将上述网格化数据一一转成 img 影像数据格式。
2.2.6 DEM 生成
地形等高线 (L6XS03) 文件在 MapGIS 空间分析子系统 DEM 分析模块中,生成 DEM栅格化文件: L6XS03.grd,再转成 img 格式,文件名改为: XSDEM。
经过上述程序形成的各类矢量或栅格数据,在 ArcView 平台建立 “相山数据库”工程文件,将上述各 Shape 图形和 img 影像文件一一添加到该工程文件中。该工程文件即为相山地区矢量、栅格一体化地学空间数据库。该数据库,一可以对这类地学空间信息实现由 GIS 支持的图层管理,二可以视需要不断进行数字—图形—图像的转换,三可以将多源地学信息进行叠合和融合,以实现多源地学信息的深化应用和分析,为实现相山地区铀资源数字勘查奠定基础。
‘叁’ 数据库缓冲区
那要看你更改后有没提交操作。。
比如oracle中如果你没提交操作 那缓冲区的数据是更改后的数据 所以读出来是正确的
如果提交了操作 那么你缓冲区的数据就会被刷新到数据文件里面 第二次读的时候 又从文件里面读取新的数据了
‘肆’ 数据库索引和缓存的一个问题
问题一:如果你的数据文件是唯一的,建议你用B+树索引,指针指向key-value的偏移量
问题二:读缓存,一般是设定缓冲区,然后选择一个的缓存替换算法
应用中除非是自增字段,否则一般都不是按照key的值排列的
建议你看看HBase和Cassandra的相关文档,会对你的系统有帮助。把数据文件分成小的块会更好管理
‘伍’ 关于三级数据库
http://learning.sohu.com/s2005/4756/s226530790.shtml
一、选择题(每小题1分,共60分)
下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1)系统软件一般包括
Ⅰ.服务性程序 Ⅱ.语言处理程序Ⅲ.操作系统 Ⅳ.数据库管理系统
A) Ⅰ、Ⅱ和Ⅲ
B) Ⅰ、Ⅲ和Ⅳ
C) Ⅱ、Ⅲ和Ⅳ
D) 全部
(2) 为提高产品质量、降低生产成本,利用计算机控制、操作和管理生产设备的系统称为
A) CAT系统
B) CAT系统
C) CAD系统
D) CAM系统
(3) 计算机输出设备的功能是
A)将计算机运算的二进制结果信息打印输出
B)将计算机内部的二进制信息显示输出
C)将计算机运算的二进制结果信息打印输出和显示输出
D) 将计算机内部的二进制信息转换为人和设备能识别的信息
(4) Internet上的计算机,在通信之前需要
A) 建立主页
B) 指定一个IP地址
C) 使用WWW服务
D) 发送电子邮件
(5) 信息传输的安全应保证信息在网络传输的过程中不被泄露和不被攻击。下列哪些属于攻击方法
Ⅰ.复制信息 Ⅱ.剪裁信息 Ⅲ.窃听信息
A) Ⅰ和Ⅱ
B) Ⅱ和Ⅲ
C) Ⅰ和Ⅲ
D) 全部
(6) 计算机病毒是一种具有破坏性的计算机程序,它是
A) 最初由系统自动生成的程序
B) 具有恶毒内容的文件
C) 具有自我再生能力的程序
D) 只通过网络传播的文件
(7) 以下关于数据的存储结构的叙述中哪一条是正确的?
A) 数据的存储结构是数据间关系的抽象描述
B) 数据的存储结构是逻辑结构在计算机存储器中的实现
C) 数据的存储结构分为线性结构和非线性结构
D) 数据的存储结构对数据运算的具体实现没有影响
(8) 以下关于队列的叙述中哪一条是不正确的?
A) 队列的特点是先进先出
B) 队列既能用顺序方式存储,也能用链接方式存储
C) 队列适用于二叉树对称序周游算法的实现
D) 队列适用于树的层次次序周游算法的实现
(9) 单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针P指向的的单链表结点之后,下面的操作序列中哪一个是正确的?
head ~~~~~~~~~~~~~~~
r>~~~~~~~~~~~~p
↓ ~~~~~~~~~~~~~~~~~
~~~~~~~~~~~`↓
align=left>info□ → info□→ info □ → info □ → info□
~~~~~~~~~~~~~~~~~info □
~~~~~~~~~~~~~~~~~~~~↑
~~~~~~~~~~~~~~~~~~~~~~~q
A) q:=p^.link; p^.link:=q^.link;
B) p^.link:=q^.link; q:=p^.link;
C) q^.link:=p^.link;p^link:=q;
D) p^.link:=q; q^.link:=p^.link;
(10) 按行优先顺序存储下三角矩阵的非零元素,则计算非零元素aij(1≤j≤i≤n)的地址的公式为
A) LOC(aij)=LOC(a11)+i×(i+1)/2+j
B) LOC(aij)=LOC(a11)+i×(i+1)/2+(j-1)
C) LOC(aij)=LOC(a11)+i×(i-1)/2+j
D) LOC(aij)=LOC(a11)+i×(i-1)/2+(j-1)
第(11)至(12)题基于下面的叙述:某二叉树结点的前序序列为E、A、C、B、D、G、F,对称序序列为A、B、C、D、E、F、G。
(11) 该二叉树结点的后序序列为
A)B、D、C、A、F、G、E
B)B、D、C、F、A、G、E
C)E、G、F、A、C、D、B
D)E、G、A、C、D、F、B
(12) 该二叉树对应的树林包括多少棵树?
A) 1
B) 2
C)3
D)4
(13) 在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为
A) 2
B) 3瀀>�?_
C) 4
D) 5
(14) 设散列表的地址空间为0到10,散列函数为h(k)=k mod 11,用线性探查法解决碰撞。现从空的散列表开始,依次插入关键码值95,14,27,68,82,则最后一个关键码82的地址为:
A) 4
B) 5
C) 6
D) 7
(15) 设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟完成后关键码96被放到了第几个位置?
A) 7
B) 8
C) 9
D) 10
(16) 下列关于进程间通信的描述中,不正确的是
A) 进程互斥是指每次只允许一个进程使用临界资源
B) 进程控制是通过原语实现的
C) P、V操作是一种进程同步机制
D) 管道不是一种进程高级通信机制
(17) 引入多道程序设计技术的目的是
A)增强系统的用户友好性
B)提高
系统实时性
C)充分利用处理器资源
D)扩充内存容量
(18) 在程序状态字PSW中设置了一位,用于控制用户程序不能执行特权指令,这一位是
A) 保护位
B) CPU状态位
C) 屏蔽位
D) 条件位
(19) 下列关于文件系统当前目录的描述中,哪个是不正确的?
A) 每个用户可以有一个当前目录
B) 引入当前目录可以加快检索速度
C) 查找文件时可以使用部分路径名
D) 当前目录不能随意改变
(20) 下列关于紧凑技术的叙述中,哪个是不正确的?
A) 内存中任意一个程序都可以随时移动
B) 移动可以集中分散的空闲区
C) 移动会增加处理器的开销
D) 采用紧凑技术时应尽可能减少移动的信息量
(21) 引入虚拟存储技术的关键前提是
A) 有大量容量的外存
B) 程序执行的局部性原理
C) 硬件提供地址转换机制
D) 选择一种合适的页面调度算法
(22) 文件系统的多级目录结构是一种
A) 线性结构
B) 树形结构
C) 散列结构
D) 双链表结构
(23) 构成文件的基本单位是字符,这一类文件称为
A) 流式文件
B) 记录式文件
C) 顺序文件
D) 索引文件
(24) 下列哪一种(些)磁盘调度算法只考虑了公平性?
Ⅰ.先来先服务 Ⅱ.最短寻道时间优先 Ⅲ.扫描
A)Ⅰ
B)Ⅱ
C)Ⅰ和Ⅲ
D)全部
(25) 在数据库技术中,反映现实世界中事物的存在方式或运动状态的是
A) 信息
B) 数据
C) 消息
D)命令
(26) 信息的价值与信息的哪些性质密切相关?
Ⅰ.准确性 Ⅱ.及时性 Ⅲ.可靠性 Ⅳ.开放性 Ⅴ.完整性
A) Ⅰ、Ⅱ、Ⅲ和Ⅳ
B) Ⅱ、Ⅲ、Ⅳ和Ⅴ
C) Ⅰ、Ⅱ、Ⅲ和Ⅴ
D) Ⅰ、Ⅱ、Ⅳ和Ⅴ
(27) 在关系数据中,视图(view)是三级模式结构中的
A) 内模式
B) 模式
C) 存储模式
D) 外模式
(28) 在数据库的三级模式结构中,内模式有
A)1个
B)2个
C)3个
D)任意多个
(29) 在关系数据库系统中
,当关系的型改变时,用户程序也可以不变。这是
A)数据的物理独立性
B)数据的逻辑独立性
C)数据的位置独立性
D)数据的存储独立性
(30) 设关系R和S的元组个数分别为100和300,关系T是R与S的笛卡尔积,则T的元组个数是
A)400
B)10000
C)30000
D)90000
(31) 下面对于关系的叙述中,哪个是不正确的?
A) 关系中的每个属性是不可分解的
B) 在关系中元组的顺序是无关紧要的
C) 任意的一个二维表都是一个关系
D) 每一个关系只有一种记录类型
(32) 设关系R与关系S具有相同的目(或称度),且相对应的属性的值取自同一个域,则R-(R-S)等于
A)R∪S
B)R∩S
C)R×S
D)R-S
(33) 在关系代数中,从两个关系的笛卡尔积中,选取它们属性间满足一定条件的元组的操作,称为
A)投影 �?_p> B)选择
C)自然连接
D)θ连接
第(34)和(35)题的关系代数操作基本如下的关系R和S:
R S
A B C B E
a1 b1 5 b1 3
a1 b2 6 b2 7
a2 b3 8 b3 10
a2 b4 12 b4 2
b5 2
(34) 若关系R和S的关系代数的操作结果如下,这是执行了
A R.B C S.B
a1 b1 5 b2 7
a1 b1 5 b3 10
a1 b2 6 b2 7
a1 b2 6 b3 10
a2 b3 8 b3 10
A) R ?? S
B) R ?? S
C) R ?? S
D) R ?? SCE R.B=S.B
(35) 若关系R和S的关系代数操作的结果如下,这是执行了
A B C E
a1 b1 5 3
a1 b2 6 7
a2 b3 8 10
a2 b4 12 2
A) R ?? S
B) R ?? S
C) R ?? S
D) R ?? SCE R.B=S.B
(36) sql语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句ALTER TABLE实现哪类功能?
A) 数据查询
B) 数据操纵
C) 数据定义
D) 数据控制
>(37) 在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建
A) 另一个表(table)
B) 游标(cursor)
C) 视图(view)
D) 索引(index)
第(38)至(41)题基于"学生-选课-课程"数据库中的三个关系:
S(S#,SNAME,SEX,AGE),
SC(S#,C#,GRADE),
C(C#,CNAME,TEACHER)
(38) 若要求查找选修"数据库技术"这门课程的学生姓名和成绩,将使用关系
A) S和SC
B) SC和C
C) S和C
D)S、SC和C
(39) 若要求查找姓名中第一个字为 王 的学生号和姓名。下面列出的SQL语句中,哪个(些)是正确的?
Ⅰ.SELECT S#,SNAME FROM S WHERESNAME=′王%′
Ⅱ.SELECT S#,SNAME FROM S WHERE SNAME LIKE′王%′
Ⅲ.SELECT S#,SNAME FROM S WHERESNAME LIKE′王_′
A) Ⅰ
B) Ⅱ
C) Ⅲ
D) 全部
(40) 为了提高查询速度,对SC表(关系)创建唯一索引,应该创建在哪个(组)属性上?
A)(S#,C#)
B)S#
C)C#
D)GRADE
(41) 为了考虑安全性,每个教师只能存取自己讲授的课程的学生成绩,为此DBA应创建
A)视图(view)
B) 索引(index)
C) 游标(cursor)
D)表(table)
(42) 数据库管理系统中的安全控制模块属于
A) 数据库定义程序模块
B) 数据库操纵程序模块
C) 数据库运行管理程序模块
D) 数据库组织、存储和管理程序模块
(43) 下面所列的条目中
Ⅰ.语法检查 Ⅱ.语义检查 Ⅲ.用户存取权限检查 Ⅳ.数据完整性检查当用户发出查询数据库数据的命令时,数据库管理系统需要进行的检查是
A)Ⅰ和Ⅱ
B)Ⅰ、Ⅱ和Ⅲ
C)Ⅱ和Ⅲ
D)全部
(44) 下述哪一种方法不属于并行数据库物理存储中常用的关系划分方法?
A) 轮转法
B) 投影法
C) 散列分布
D) 范围分布
(45) 下面的条目中,哪些是IBM数据仓库三层结构中的组成部分?
Ⅰ.OLTP业务系统 Ⅱ.前台分析工具 Ⅲ.数据仓库 Ⅳ.数据集市
A) Ⅰ、Ⅱ和Ⅲ
B) Ⅰ、Ⅱ和Ⅳ
=left>C) Ⅰ、Ⅲ和Ⅳ
D) Ⅱ、Ⅲ和Ⅳ
(46) "事务的所有操作在数据库中要么全部正确反映出来要么全部不反映",这是事务的哪一个特性?
A) 原子性
B) 一致性
C) 隔离性
D) 持久性
(47) 若事务T对数据R已经加了X锁,则其他事务对数据R
A) 可以加S锁不能加X锁
瀀>�?_ B) 不能加S锁可以加X锁
C) 可以加S锁也可以加X锁
D) 不能加任何锁
(48) 关于"死锁",下列说法中正确的是
A)死锁是操作系统中的问题,数据库系统中不存在
B)只有出现并发操作时,才有可能出现死锁
C)在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库
D)当两个用户竞争相同的资源时不会发生死锁
(49) 下述哪一个SQL语句用于实现数据存取的安全机制?
A) COMMIT
B) ROLLBACK
C) GRANT
D) CREATE TABLE
(50) 由于关系模式设计不当所引起的插入异常指的是
A) 两个事务并发地对同一关系进行插入而造成数据库不一致
B) 由于码值的一部分为空而不能将有用的信息作为一个元组插入到关系中
C) 未经授权的用户对关系进行了插入
D) 插入操作因为违反完整性约束条件而遭到拒绝
(51) 下面关于函数依赖的叙述中,不正确的是
A) 若X→Y,X→Z,则X→YZ
B) 若XY→Z,则X→Z, Y→Z
C) 若X→Y,WY→Z,则XW→Z
D) 若X→Y,则XZ→YZ
(52) 下面有关各种范式之间的包含关系的描述中,正确的是
A) BCNF?4NF?3NF?2NF?1NF
B) 4NF?BCNF?3NF?2NF?1NF
C) 1NF?2NF?3NF?4NF?BCNF
D) 1NF?2NF?3NF?BCNF?4NF
第(53)至(54)题基于以下的叙述:关系模式R(B,C,M,T,A,G),根据语义有如下函数依赖集:F={B→C,(M,T)→B,(M,C)→T,(M,A)→T,(A,B)→C}。
(53) 关系模式R的码是
A) (M,T)
B) (M,C)
C) (M,A)
D) (A,B)
(54) R的规范化程度最高达到
A) 1NF
B) 2NF
C) 3NF
D) 4NF
(55) 下面有关模式分解的叙述中,不正确的是
A) 若一个模式分解保持函数依赖,则该分解一定具有无损连接性
B) 若要求分解保持函数依赖,那么模式分解可以达到3NF,但不一定能达到BCNF
C) 若要求分解既具有无损连接性,又保持函数依赖,则模式分解可以达到3NF,但不一定能达到BCNF
D) 若要求分解具有无损连接性,那么模式分解一定可以达到BCNF
(56) 下面有关E-R模型向关系模型转换的叙述中,不正确的是
A) 一个实体类型转换为一个关系模式
B) 一个1:1联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并
C) 一个1:n联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并
D) 一个m:n联系转换为一个关系模式
(57) 下面哪个工具不属于数据库应用开发的CASE工具?
A) Sybase公司的PowerDesinger
B) Uniface公司的Uniface
C) Oracle公司的Designer/2000
D)Rational公司的Rose
(58) 下列关于Delphi的叙述中,哪种是不正确的?
A) Delphi属于第四代语言
B) Delphi基于面向对象编程方法,是一种可视化开发工具
C) Delphi提供了数据迁移工具(DataPump),可以实现数据从一个数据库到另一个数据库的迁移
D) Delphi可以方便地支持数据仓库的创建
(59) 下列关于"分布式数据库系统"的叙述中,正确的是
A) 分散在各节点的数据是不相关的
B) 用户可以对远程数据进行访问,但必须指明数据的存储节点
C) 每一个节点是一个独立的数据库系统,既能完成局部应用,也支持全局应用
D) 数据可以分散在不同节点的计算机上,但必须在同一台计算机上进行数据处理
(60) 下面有关对象-关系数据库管理系统的叙述中,不正确的是
A) 数据类型不能嵌套
B) 可以创建新的数据类型
C) 继承性只适用于组合类型,子类继承超类的所有数据元素
D) 可以构造复杂对象的数据类型,集合是一种类型构造器
二、填空题(每空2分,共40分)
请将答案分别写在答题卡中序号为【1】至【20】的横线上,答在试卷上不得分。
(1) 高级程序设计语言编写的程序不能在计算机瀀>�?_上直接执行,必须通过【1】翻译成具体的机器语言后才能执行。
(2) 广域网覆盖的地理范围从几十公里到几千公里,其通信子网一般采用【2】技术。
(3) 二叉树是结点的有限集合,这个有限集合或者为【3】,或者由一个根结点及两棵不相交的、分别称作为根的左子树和右子树的二叉树组成。
(4) m阶B树的根结点若不是叶结点,那么它至多有m棵子树,至少有【4】棵子树。
(5) 对于关键码序列18,30,35,10,46,38,5,40进行堆排序(假定堆的根结点为最小关键码),在初始建堆过程中需进行的关键码交换次数为【5】 。
7) 在页式存储管理中,存放在高速缓冲存储器中的部分页表称为 【7】 。
(8) 从资源分配的角度可将设备分为 【8】 、共享设备和虚设备。
(9) 数据管理技术的发展经历了如下三个阶段:人工管理阶段、文件系统阶段和 【9】 系统阶段。
(10) 在关系模型中,若属性A是关系R的主码,则在R的任何元组中,属性A的取值都不允许为空,这种约束称为 【10】 规则。
(11) 用值域的概念来定义关系,关系是属性值域笛卡尔积的一个 【11】。
(12) 在SQL语言中,删除表的定义以及表中的数据和此表上的索引,应该使用的语句是【12】。
(13) 数据库管理系统管理并且控制【13】 资源的使用。
(14) Oracle OLAP是Oracle数据库系统的 【14】 解决方案。
(15) 事务故障恢复时要对事务的每一个操作执行逆操作,即将日志记录中" 【15】"写入数据库中。
(16) 多个事务在某个调度下的执行是正确的,是能保证数据库一致性的,当且仅当该调度是 【16】 。
(17) 当将局部E-R图集成为全局E-R图时,如果同一对象在一个局部E-R图中作为实体,而在另一个局部E-R图中作为属性,这种现象称为 【17】 冲突。
(18) 假设在关系模式R(U)中,X、Y、Z都是U的子集,且Z= U-X-Y。若X→→Y,而,则称X→→Y为【18】。
(19) 在数据挖掘方法中,将数据集分割为若干有意义的簇的过程称为【19】分析,它是一种无制导的学习方法。
(20) 数据仓库中存放的数据是为了适应数据的【20】处理要求而集成起来的。
‘陆’ 一个例子说明内存数据库为什么比磁盘数据库要快
假定在程序效率和关键过程相当且不计入缓存等措施的条件下,读写任何类型的数据都没有直接操作文件来的快,不论MSYQL过程如何,最后都要到磁盘上去读这个“文件”(记录存储区等效),所以当然这一切的前提是只读 内容,无关任何排序或查找操作。
动态网站一般都是用数据库来存储信息,如果信息的及时性要求不高 可以加入缓存来减少频繁读写数据库。
两种方式一般都支持,但是绕过操作系统直接操作磁盘的性能较高,而且安全性也较高,数据库系中的磁盘性能一直都是瓶颈,大型数据库一般基于unix
系统,当然win下也有,不常用应为win的不可靠性,unix下,用的是裸设备raw设备,就是没有加工过的设备(unix下的磁盘分区属于特殊设备,
以文件形式统一管理),由dbms直接管理,不通过操作系统,效率很高,可靠性也高,因为磁盘,cache和内存都是自己管理的,大型数据库系统
db2,oracal,informix(不太流行了),mssql算不上大型数据库系统。
1、直接读文件相比数据库查询效率更胜一筹,而且文中还没算上连接和断开的时间。
2、一次读取的内容越大,直接读文件的优势会越明
显(读文件时间都是小幅增长,这跟文件存储的连续性和簇大小等有关系),这个结果恰恰跟书生预料的相反,说明MYSQL对更大文件读取可能又附加了某些操
作(两次时间增长了近30%),如果只是单纯的赋值转换应该是差异偏小才对。
3、写文件和INSERT几乎不用测试就可以推测出,数据库效率只会更差。
4、很小的配置文件如果不需要使用到数据库特性,更加适合放到独立文件里存取,无需单独创建数据表或记录,很大的文件比如图片、音乐等采用文件存储更为方便,只把路径或缩略图等索引信息放到数据库里更合理一些。
5、PHP上如果只是读文件,file_get_contents比fopen、fclose更有效率,不包括判断存在这个函数时间会少3秒左右。
6、fetch_row和fetch_object应该是从fetch_array转换而来的,书生没看过PHP的源码,单从执行上就可以说明fetch_array效率更高,这跟网上的说法似乎相反。
磁盘读写与数据库的关系:
一 磁盘物理结构
(1) 盘片:硬盘的盘体由多个盘片叠在一起构成。
在硬盘出厂时,由硬盘生产商完成了低级格式化(物理格式化),作用是将空白的盘片(Platter)划分为一个个同圆心、不同半径的磁道
(Track),还将磁道划分为若干个扇区(Sector),每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息,默认每个扇区的大小为
512字节。通常使用者无需再进行低级格式化操作。
(2) 磁头:每张盘片的正反两面各有一个磁头。
(3) 主轴:所有磁片都由主轴电机带动旋转。
(4) 控制集成电路板:复杂!上面还有ROM(内有软件系统)、Cache等。
二 磁盘如何完成单次IO操作
(1) 寻道
当控制器对磁盘发出一个IO操作命令的时候,磁盘的驱动臂(Actuator
Arm)带动磁头(Head)离开着陆区(Landing
Zone,位于内圈没有数据的区域),移动到要操作的初始数据块所在的磁道(Track)的正上方,这个过程被称为寻道(Seeking),对应消耗的时
间被称为寻道时间(Seek Time);
(2) 旋转延迟
找到对应磁道还不能马上读取数据,这时候磁头要等到磁盘盘片(Platter)旋转到初始数据块所在的扇区(Sector)落在读写磁头正下方之后才能开始读取数据,在这个等待盘片旋转到可操作扇区的过程中消耗的时间称为旋转延时(Rotational Delay);
(3) 数据传送
接下来就随着盘片的旋转,磁头不断的读/写相应的数据块,直到完成这次IO所需要操作的全部数据,这个过程称为数据传送(Data Transfer),对应的时间称为传送时间(Transfer Time)。完成这三个步骤之后单次IO操作也就完成了。
根据磁盘单次IO操作的过程,可以发现:
单次IO时间 = 寻道时间 + 旋转延迟 + 传送时间
进而推算IOPS(IO per second)的公式为:
IOPS = 1000ms/单次IO时间
三 磁盘IOPS计算
不同磁盘,它的寻道时间,旋转延迟,数据传送所需的时间各是多少?
1. 寻道时间
考虑到被读写的数据可能在磁盘的任意一个磁道,既有可能在磁盘的最内圈(寻道时间最短),也可能在磁盘的最外圈(寻道时间最长),所以在计算中我们只考虑平均寻道时间。
在购买磁盘时,该参数都有标明,目前的SATA/SAS磁盘,按转速不同,寻道时间不同,不过通常都在10ms以下:
3. 传送时间2. 旋转延时
和寻道一样,当磁头定位到磁道之后有可能正好在要读写扇区之上,这时候是不需要额外的延时就可以立刻读写到数据,但是最坏的情况确实要磁盘旋转整整
一圈之后磁头才能读取到数据,所以这里也考虑的是平均旋转延时,对于15000rpm的磁盘就是(60s/15000)*(1/2) = 2ms。
(1) 磁盘传输速率
磁盘传输速率分两种:内部传输速率(Internal Transfer Rate),外部传输速率(External Transfer Rate)。
内部传输速率(Internal Transfer Rate),是指磁头与硬盘缓存之间的数据传输速率,简单的说就是硬盘磁头将数据从盘片上读取出来,然后存储在缓存内的速度。
理想的内部传输速率不存在寻道,旋转延时,就一直在同一个磁道上读数据并传到缓存,显然这是不可能的,因为单个磁道的存储空间是有限的;
实际的内部传输速率包含了寻道和旋转延时,目前家用磁盘,稳定的内部传输速率一般在30MB/s到45MB/s之间(服务器磁盘,应该会更高)。
外部传输速率(External Transfer Rate),是指硬盘缓存和系统总线之间的数据传输速率,也就是计算机通过硬盘接口从缓存中将数据读出交给相应的硬盘控制器的速率。
硬盘厂商在硬盘参数中,通常也会给出一个最大传输速率,比如现在SATA3.0的6Gbit/s,换算一下就是6*1024/8,768MB/s,通常指的是硬盘接口对外的最大传输速率,当然实际使用中是达不到这个值的。
这里计算IOPS,保守选择实际内部传输速率,以40M/s为例。
(2) 单次IO操作的大小
有了传送速率,还要知道单次IO操作的大小(IO Chunk Size),才可以算出单次IO的传送时间。那么磁盘单次IO的大小是多少?答案是:不确定。
操作系统为了提高 IO的性能而引入了文件系统缓存(File System Cache),系统会根据请求数据的情况将多个来自IO的请求先放在缓存里面,然后再一次性的提交给磁盘,也就是说对于数据库发出的多个8K数据块的读操作有可能放在一个磁盘读IO里就处理了。
还有,有些存储系统也是提供了缓存(Cache),接收到操作系统的IO请求之后也是会将多个操作系统的 IO请求合并成一个来处理。
不管是操作系统层面的缓存还是磁盘控制器层面的缓存,目的都只有一个,提高数据读写的效率。因此每次单独的IO操作大小都是不一样的,它主要取决于系统对于数据读写效率的判断。这里以SQL Server数据库的数据页大小为例:8K。
(3) 传送时间
传送时间 = IO Chunk Size/Internal Transfer Rate = 8k/40M/s = 0.2ms
可以发现:
(3.1) 如果IO Chunk Size大的话,传送时间会变大,从而导致IOPS变小;
(3.2) 机械磁盘的主要读写成本,都花在了寻址时间上,即:寻道时间 + 旋转延迟,也就是磁盘臂的摆动,和磁盘的旋转延迟。
(3.3) 如果粗略的计算IOPS,可以忽略传送时间,1000ms/(寻道时间 + 旋转延迟)即可。
4. IOPS计算示例
以15000rpm为例:
(1) 单次IO时间
单次IO时间 = 寻道时间 + 旋转延迟 + 传送时间 = 3ms + 2ms + 0.2 ms = 5.2 ms
(2) IOPS
IOPS = 1000ms/单次IO时间 = 1000ms/5.2ms = 192 (次)
这里计算的是单块磁盘的随机访问IOPS。
考虑一种极端的情况,如果磁盘全部为顺序访问,那么就可以忽略:寻道时间 + 旋转延迟 的时长,IOPS的计算公式就变为:IOPS = 1000ms/传送时间
IOPS = 1000ms/传送时间= 1000ms/0.2ms = 5000 (次)
显然这种极端的情况太过理想,毕竟每个磁道的空间是有限的,寻道时间 + 旋转延迟 时长确实可以减少,不过是无法完全避免的。
四 数据库中的磁盘读写
1. 随机访问和连续访问
(1) 随机访问(Random Access)
指的是本次IO所给出的扇区地址和上次IO给出扇区地址相差比较大,这样的话磁头在两次IO操作之间需要作比较大的移动动作才能重新开始读/写数据。
(2) 连续访问(Sequential Access)
相反的,如果当次IO给出的扇区地址与上次IO结束的扇区地址一致或者是接近的话,那磁头就能很快的开始这次IO操作,这样的多个IO操作称为连续访问。
(3) 以SQL Server数据库为例
数据文件,SQL Server统一区上的对象,是以extent(8*8k)为单位进行空间分配的,数据存放是很随机的,哪个数据页有空间,就写在哪里,除非通过文件组给每个表预分配足够大的、单独使用的文件,否则不能保证数据的连续性,通常为随机访问。
另外哪怕聚集索引表,也只是逻辑上的连续,并不是物理上。
日志文件,由于有VLF的存在,日志的读写理论上为连续访问,但如果日志文件设置为自动增长,且增量不大,VLF就会很多很小,那么就也并不是严格的连续访问了。
2. 顺序IO和并发IO
(1) 顺序IO模式(Queue Mode)
磁盘控制器可能会一次对磁盘组发出一连串的IO命令,如果磁盘组一次只能执行一个IO命令,称为顺序IO;
(2) 并发IO模式(Burst Mode)
当磁盘组能同时执行多个IO命令时,称为并发IO。并发IO只能发生在由多个磁盘组成的磁盘组上,单块磁盘只能一次处理一个IO命令。
(3) 以SQL Server数据库为例
有的时候,尽管磁盘的IOPS(Disk Transfers/sec)还没有太大,但是发现数据库出现IO等待,为什么?通常是因为有了磁盘请求队列,有过多的IO请求堆积。
磁盘的请求队列和繁忙程度,通过以下性能计数器查看:
LogicalDisk/Avg.Disk Queue Length
LogicalDisk/Current Disk Queue Length
LogicalDisk/%Disk Time
这种情况下,可以做的是:
(1) 简化业务逻辑,减少IO请求数;
(2) 同一个实例下,多个数据库迁移的不同实例下;
(3) 同一个数据库的日志,数据文件分离到不同的存储单元;
(4) 借助HA策略,做读写操作的分离。
3. IOPS和吞吐量(throughput)
(1) IOPS
IOPS即每秒进行读写(I/O)操作的次数。在计算传送时间时,有提到,如果IO Chunk Size大的话,那么IOPS会变小,假设以100M为单位读写数据,那么IOPS就会很小。
(2) 吞吐量(throughput)
吞吐量指每秒可以读写的字节数。同样假设以100M为单位读写数据,尽管IOPS很小,但是每秒读写了N*100M的数据,吞吐量并不小。
(3) 以SQL Server数据库为例
对于OLTP的系统,经常读写小块数据,多为随机访问,用IOPS来衡量读写性能;
对于数据仓库,日志文件,经常读写大块数据,多为顺序访问,用吞吐量来衡量读写性能。
磁盘当前的IOPS,通过以下性能计数器查看:
LogicalDisk/Disk Transfers/sec
LogicalDisk/Disk Reads/sec
LogicalDisk/Disk Writes/sec
磁盘当前的吞吐量,通过以下性能计数器查看:
LogicalDisk/Disk Bytes/sec
LogicalDisk/Disk Read Bytes/sec
LogicalDisk/Disk Write Bytes/sec
‘柒’ dp通讯数据区k_o不够用怎么办
添加。
1、当dp在通讯时,数据区的ko参数值默认为最低的。
2、不够用时直接在通讯选项点击数值,可以看到+号,点击就可以添加了。
‘捌’ 有哪些国产数据库哪个比较好真的不如国外产品么
随着数据大数据的发展,数据安全已经上升到一个很高的高度。随着国家对数据安全的重视,国产数据库开始走进中国个大企业,其中不乏政府、国企。