数据库的基本类型

数据库的基本类型,第1张

数据库有类型之分,是根据数据模型划分的。目前成熟地应用在数据库系统中的数据模型有:层次模型、网壮模型和关系模型。下面我们分别学习以下这三种模型。

层次模型

层次模型是用树结构表示记录类型及其联系的。

树结构的基本特点是:

1、有且仅有一个结点无父结点;

2、其它结点有且有一个父结点。

在层次模型中,树的结点是记录型。上一层记录型和下一层记录型的联系是1:n的。

层次模型就象下面我们给出的一棵倒立的树。

注意:在层次式数据库中查找记录,必须指定存取路径。这种关系模型不支持m:n联系。

网状模型

网状模型中结点间的联系不受层次限制,可以任意发生联系,所以她的结构是结点的连通图。

网状模型结构的特点是:

1、有一个以上结点无父结点;

2、至少有一个结点有多于一个父结点。

注意:虽然网状模型能反映各种复杂的关系,但网状模型在具体实现上,只支持1:n联系,对

于m:n联系可将其转化为1:n联系。

关系模型

关系模型的本质就是用若干个二维表来表示实体及其联系。

关系是通过关系名和属性名定义的。一个关系可形式化表示为:

R(A1,A2,A3,…,Ai,…)

其中:R为关系名,Ai为关系的属性名。

这里我们对此不做过多的学习,在以后的章节中我们会详细的学习之。

求教哪位高手帮我看一下这篇文章究竟说了什么啊???详细一点~~~ >

百度回答字数有限制,我就翻译到41前面,我用的Google,直接就可以翻译的。

摘要:大量的研究大量文献都集中在改善

最长前缀匹配性能的IP查找。最近,

嵌入式记忆体的架构被提出,其中

提供了非常高的查找和更新的吞吐量。这些架构

经常使用的嵌入式记忆体管线,其中每个阶段

存储单个或查找的特里的水平。甲流

查找请求发出到管道,每一个周期,

为了达到高的吞吐量。最近,Baboescu等。

[21]提出了一种新的架构,它使用循环记忆

管道的部分动态映射到不同的查找特里

阶段。

在本文中,我们扩展此一架构方法称为

圆形,自适应和单调管道(营地),这是

在观察的基础的关键是圆管道让脱钩

从数的水平管道阶段

在这个结构。这提供了更加灵活的映射节点

查找的特里的阶段。的灵活性,又提高了

内存使用,也减少了总内存和

功耗。这种灵活性是有代价然而,自

发出的请求在任意阶段,他们可能会被封锁

如果他们进入繁忙阶段。在极端的情况下,请求可能会阻止

一时间等于管道深度,可能会严重影响

管道利用率。我们表明,相当简单的技术

几乎可以保证管道的充分利用。这些

技术,具有一个指向这个结构的节点自适应映射耦合

圆形管道,创建一个流水线架构,可运行

在这个结构的大小,不论很高。

1。简介

在光学和信号技术的最新进展推

超过10 Gbps的网络连接速率,40 Gbps的

现在出现的链接。线路卡终止了40 Gbps的IP链路

需要提出在8 ns的最小大小的数据包。这样做,

即将离任的线路卡必须查明是基于分组的

目的地的IP地址和路线的设置。因此,路由

表必须每隔8 ns的搜查。这是具有挑战性的,因为:

我)的IP地址查找需要一个最长前缀匹配,这反过来

需要几个每场顺序内存访问,和二)

全球路由表包含十几万前缀

并不断增加。序列化访问和大量的双重挑战

数据集,开启了新的算法和数据结构的数量。

许多实现依赖于基于树的数据结构,

如尝试,编码IP路由表。在这些方案中,最长的

前缀发现遍历从根到节点特里

匹配的叶子节点,使用从一个或多个位步伐

搜索字符串。

为了提高连接速率转发数据包时,现代

路由器采用专门的硬件基础,以执行这些想法

IP查询。内存带宽是在任何重要的关注

实施,无论是基于片外存储器或

专用集成电路。例如,在40 Gbps的速度,一个跨越四多位Trie树

需要8每隔8 ns的内存访问。实现这一带宽

使用单一记忆体是个挑战。一些研究人员

提出了一个流水线特里。这种尝试使高通量

因为当管道中有足够的记忆,没有记忆

舞台不止一次访问了搜索和每个阶段

可以为不同的服务查找每个周期内存请求。

最近,Baboescu等。 [21]提出了一个圆

流水线特里,这是从以前的不同,在

内存配置在一个阶段是圆形,多点接入

管道,以便查找可以在任何阶段被启动。在一highlevel,

这个多接入和循环结构,使得更多

特里在映射节点流水线的灵活性,从而

维护统一的内存占用。在本文中,我们扩展

此一架构方法所谓循环性,适应性和

单调管道(营)。我们的工作,同时利用一

圆形管道,不同于以前的循环管道的建议

在几个方面。

首先,坎普的方式不同,这个结构是为子分裂尝试。

而[21]在有一个大的(〜4000)的目标是同样大小的数

次尝试,为我们的设计力求简洁。因此,环磷酸腺苷分割

根成一个子Trie树和多叶分特里,尝试。根分特里

首数位处理(例如R)的IP地址,它是实施

为表,索引的IP地址的第一个R位。随着

这一点,可能有多达2必叶亚尝试;每个都可以独立

映射到管道。通过明智的映射

其中,系统维护接近最优内存利用率,而不是

仅在内存空间,而且在访问的数量,每管道

阶段。

第二,有一个分大小不同的特里数量减少,

我们提出了一个不同的启发式将它们映射到管道阶段。

许可作出的全部或部分工作,这数字或硬拷贝

个人或教室使用费规定,未经批准副本

没有提出或为牟利或商业利益,而副本分发

熊本通知第一页上的全部引文。要复制否则,或

发布,张贴在服务器或重新分配清单,须事先特定

允许和/或费用。

ANCS'06十二月3-5日,2006年,圣何塞,加利福尼亚州,美国。

由于事实上,我们的计划被证明是简单得多,这

还优雅地处理增量更新。

最后,我们的设计采用了不同的机制来最大限度地提高

管道的利用和处理按顺序查找条件。在

特别是,我们的目标是有不超过一管道准入

对于任何阶段查找。坎普更进一步,解耦的依赖

对管道级数从特里数

水平。因此,可以聘请了一大批紧凑和快速

流水线,使高吞吐量的同时,耗电低

权力。随着大量的阶段,管道利用率可能降低

显着。为此,环磷酸腺苷采用有效的计划

实现高利用率。

我们也提供一个广泛的分析和设计权衡

其对查找速率和功率消耗。对于真正的路由

表存储1500万前缀,达到40Gbps的坎普

吞吐量为03瓦的功耗。推算

250000前缀显示出功率消耗04瓦

相同的吞吐量。

本文的其余部分组织如下。我们在第二节

讨论了相关工作。在第三节中,我们描述的运作

流水线特里。在第四节,我们提出了一个启发式映射特里

管道阶段的节点。在第5节,我们目前的实验

结果,我们在第六节讨论最坏的情况。最后,

第七节,我们总结我们的发现。

2。背景

IP查询包括确定最长前缀匹配

境内目的地的路由数据库的地址字段变量

长度前缀。最长前缀匹配查找的IP已

广泛的研究。一些著名的IP查找机制,包括

从TCAM的[9] [10]布鲁姆过滤器[6]哈希表[1]

基础的计划。由于这些是没有直接关系到当前

工作中,我们将侧重于基础的查询计划的特里。

21。 Trie树的IP查找

一种基于内存的解决方案,很大一部分使用查找尝试。阿特里

是有序树的数据结构相关联的一个字符串SX的每个节点

NX的; SX是储存在任何没有明确的树点,但可以

计算出来后,从特里叶根路径

NX的节点。一个尝试的基本性质是一个节点的所有后代

NX的一个共同的前缀,由相关的字符串表示

NX的。在知识产权方面查找,代表二进制的Trie的路由

表可以通过遍历每个建造从最左边的前缀

最右边的位,并在这个结构中插入,为每一个0和一个左孩子

每个儿童的权利1。举个例子,见图1(a)和(b)项。

节点对应于有效的前缀必须标有

前缀指针。查找是通过遍历这个结构,根据

在IP地址中的位。当到达一个叶子,最后

走过标记节点对应于最长前缀匹配。

正如在图1(b)所示,每个节点包含两个指针:

一进儿童节点和一个指针数组的前缀。为了减少

内存使用量,叶推(图1(c))已被提出[1]

其中前缀在非叶节点(例如:小一,小三)被下推

去叶。因此,每个节点存储任何指针或一个前缀

对儿童的指针数组。不过,叶节点可能推

需要在几片叶子复制(例如:小三)。因此平均而言,

叶推不减半的内存。此外,它还

复杂的更新。

如果几个位扫描每个节点遍历,那么产生

数据结构是一个多分支树。在数位scannedonce大步。一个与步幅ð节点会有最大的2D

子节点。在多比特Trie树,一些前缀可能扩大到

调整到跨越界线,而这可能会增加的大小

路由表。然而,在一个节点遍历,多个位

扫描,从而减少了扫描次数。由于时间

完成查找由特里深度,选择确定

步幅查找时间取决于内存的权衡:低进展

允许更紧凑的数据结构,但需要更多的内存

访问,而更高的进步降低成本的时间在查找

更多的内存。

前缀扩展控制引入了[2],以

解决上述问题。由于内存的最大数量

允许访问一个查找(即特里深度),此技术使用

动态规划确定的最低大步领先

总内存。然而,这涉及到两个重要的限制:

首先,它是从零开始建设一个合适的,但不特里

支持增量更新;第二,并同时降低整体

内存,这种技术不控制每级存储

住在一个流水线特里。其原因将解释

不久。

22。流水线IP查询尝试

一个有效的方式来处理的时间内存权衡是要认识到

会尝试非常适合用于数据流水线[7] [8]的结构。一

管道中常用的方法是给每个特里特里水平提升到一个不同的

舞台,使查找能发出请求每个周期,从而

增加的吞吐量。除了增加的吞吐量,如

流水线的实现,也适合用于处理更新。

事实上,所提出的建议[7],软件的前缀插入预处理

和删除可以被利用,以确定必要的

每个级别进行修改,在这个结构。在第二个

阶段,这些写 *** 作可以在管道中插入

的形式“写泡沫”。由于连续的字符

流水线作业,写简单的技术可以防止

与现有的业务,从查找干扰。

在流水线的实施,这是可取的节点分配

一致通过管道阶段。 [7]应用扩展

前缀扩展的版本控制来实现这一目标。

而不是最小化的总内存,修改后的算法

在最大限度地减小了最大的特里级大小的目标,同时仍

保持总内存不足。通过变步使用

尝试(有固定的每级大步迈进,但允许在不同的另一种做法是提出[8],其中高度为基础

(而不是水平为基础)的流水线的建议。工作不

在平衡内存利用率的目的,相反,它着重于保证

最坏情况下的性能界限。特别是,它着重于

叶推优百特尝试使用了一种叫做跳节点,

限制了一个叶节点推份数。的用法

跳节点是体现在图2中,所有的后裔

节点Y代表任何的前缀四(叶推)或小五。显然,

在Y在根的子树的所有内部节点可以浓缩成一

跳节点携带其余的部分信息

小五。在文献[8],研究者认为,跳节点确保数

在叶子叶子推优百特Trie是相等的前缀号码,

这使澳(1)的更新。不幸的是,因为并不是所有的

的叶节点推副本可去除使用跳节点

(参见图2 P1)的,这些说法是不正确的。此外,heightbased

流水线阶段的不平衡导致;作为一种变通方法,

基于硬件的流水线已经被提出,其中,增加了复杂性

和功耗。

正如我们已经提到,最近和最有效的

流水线特里已提议在[21],它使用一个圆形

管线动态管道入境点。

23。高效的编码的多位- Trie的节点

最后一个相关方面的文献中研究的是压缩的使用

以减少内存需求。特别是,吕勒奥

方案[4]是试图推动适合采用叶,而树

位图算法[5]非叶推多位尝试重点。

具体来说,树位图允许的O(1)更新相比,

吕勒奥,同时要求比较记忆。如前所述,

由于叶在减少推动成效有限

总内存的要求,我们着重在非叶推尝试。

我们的方式对这些基础设施是正交压缩

技术。因此,我们首先提出我们的映射算法

简单优百特特里,然后显示其适应和多位尝试

树位图计划。

3。坎普

流水线技术是一种有效的方式来实现高查询率。上一页

管线计划是基于这样的假设,管道

是线性的,并具有独特的进入和退出点,而且,它是

假设一个全球性的映射是对整个Trie的执行。我们

消除对实际的观察,基于两个假设

前缀集目前我们相当多的机会,分裂成一个特里

多个子尝试,因此,不同的管道入口点可以分配

给他们。这导致许多映射的机会,从

它的任务,可以选择实现平衡管道

阶段。此外,它也消除了两个重要的局限性所面临

任何基于全球定位方案,即,1)有多少

流水线阶段必然前缀的最大长度,2)增加

一个记忆库需要一个完整的映射(在场景中

由前缀插入序列生成的溢出)。

我们引进和单调循环的自适应管道

(营地)使用前缀设置的8个小图3所示沿

与相应的二进制Trie的。这将需要流水线特里

6个阶段。 A级基础测绘成果将在1,2,3,5,2和2

在阶段1至6日分别节点,而高度的映射

将导致6,4,2,1,1和1个节点。因此,这两种映射

造成不平衡的管道和不平衡程度取决于

根据前缀设置。

我们现在考虑这个分裂成四个子分支树,尝试。由于前缀

P1是只有1位长,我们首先扩展到2位使用受控

前缀扩展(见图3)。现在,在所有前缀

数据库中超过2位,因此,上面的两个层次

这个结构可以直接存储在索引表,这让我们与

三个分四个层次每个尝试。更一般地,当一个路由

数据库包含前缀所有这些都不再比X位

(更短的前缀扩展到X位),那么第一个X水平

这个结构可能取而代之的是一个含有2个条目直接索引表,

每个点的2倍分一试与

最多32个高度 - 十

如果有多个subtries,我们现在争取获得一个平衡的映射

对管道级节点。我们利用一个事实,即要求

可以进入和退出在任何阶段,从而分根可以尝试

映射到任何阶段。如果我们也允许请求回绕

通过(通过利用循环管道的优势,即)管道,

我们可以得到一个高度灵活的映射。节点

从分特里根后裔可以存储在随后的

管道阶段,环绕着一旦到达最后阶段。在

上面的例子中,3次尝试构建从8前缀

表可以映射到四个阶段的循环记忆流水线

动态切入点,如图4。请注意,前两位是用来确定到管道和随后的入职阶段

位在不同的管道处理阶段。

31。通用动态循环管道

一个普通圆形管道不得要求要在一个存储节点

舞台毗邻父节点的阶段。例如,两个

第一分在前面的例子特里节点可以存储在

任何两个不同的阶段,因为,不论是这样的

存储,查找这个分特里将只访问每个阶段的要求

一次。不过,这需要管道插入无老年退休金计划时,

要求穿越一个阶段,所需的节点不存在。

支持NO - OPS的增加存储节点的灵活性

各分尝试可能导致更加均衡的流水线阶段。

另一方面,我们将会看到后,它可能会变得复杂

更新方案。

一个普通圆形管道有三个重要的属性,我)有

允许动态进入和退出点,二)它是圆形的,因此所有

邻近的阶段连接一个方向,及iii)支援

没有为哪些请求直接传给了老年退休金计划时

指定的节点没有找到。相应的映射算法

绘制了各子特里根管道阶段,一些

后续节点映射,这样,A)的一个节点是一个存储

阶段,至少有一个提前(包括环绕式)的

阶段,其母公司的存储位置,和b)终止所有查找路径

然后才作出通过管道循环。因此,沿着任何节点

路径映射到一个单调递增的阶段,管道

每查找保证让最多一个访问到内存

阶段。

可以说,它的查找吞吐量一般通告

管道匹配的任何其他管道,因为查找请求

最多一次访问一个内存。但是,允许动态

由于引入的切入点,要求冲突的新问题。

请求争夺进入第i个阶段可能要等

直到泡沫(空闲周期)时出现。在极端的情况下,请求

可能要无限期地等待这样一个泡沫,如果其他要求

进入管道每个周期,保持其入境

繁忙的阶段。这可能导致非确定性的高性能,低

管道利用率和out - of -订货要求加工。然而,

下一步,我们将看到,相对简单的技术加上

凭借在管道的运行率小加速确保确定性

性能。

32。详细的架构的阵营

一个cAMP系统的原理框图所示

图5中,其中一个圆形管道组成的回忆。该

第一个块进行直接查表上第一台X的位

地址(x是在查找Trie的初始步幅),其中规定

该阶段的相应的子Trie树的根节点的位置。

随后,通过查找请求的子树遍历

被分派到那个阶段。所有请求都存储在入口

在每个内存先进先出舞台前。只要相应的

接收到一个泡沫阶段(空闲周期),在请求

FIFO的头部发出到管道。一旦请求遍历

通过管道到达阶段包含最后一个节点,

它与任何出来的有效下一跳信息或无

匹配。

在每个阶段前入口的FIFO中起着关键作用

提高了工作效率。考虑这样一个没有排队系统。

这可能是一个n流查找请求进入某一阶段

造成了在管道ñ请求列车。所有后续

请求争夺进入管道可能要等待ncycles。因此,效率可低至50%,因为

管道服务请求,然后等待ñ维修之前,对n个周期

随后的请求。最坏的情况下还可以更效率

低。考虑一个情况时,要求进入管道

未来等待1个周期。进入后,第三要等待2

周期。因此,我请求等待我第1个周期,这将导致

一个效率非常低。

入口的FIFO作为缓冲服务重新排列,这省却了

以上线路阻塞头。如果一个请求必须等待几个周期

才可以得到服务,将一直留在队列中,因此并

不能阻止随后的请求。很直观的,更大的要求

队列将提高流水线效率,因为他们将

提供对请求延长豁免权,必须阻止

在被服务。

在完善调度到管道中,这些FIFO的速度

也导致请求被服务的顺序进行。因此,

目前可选的重排序缓冲区是在输出端,它恢复

命令要求。重新排序是可选的,因为问题的

出序只出现在不同的数据包注定

目的地。一个TCP流将永远不会遇到任何重新排序,

任何两个数据包具有相同的前缀(从而指定

同样的“下一跳”)总是通过在相同的路径遍历

查找特里。因此,这些请求将争夺进入管道

在同一阶段,他们总是先入firstout服务

秩序。现在,我们介绍了流程效率度量和

针对不同管道的特点配置和输入点击量

模式。

33。表征管路效率

一个度量刻画坎普管道利用效率。

管道利用率是时间的一小部分仍然管道

忙碌只要有一个查找连续积压

请求。另一个指标,它更直接地体现了性能,

是查找每个周期或lpc,即在该查询的速度

请求被分派到管道。

线性管道保证了管道的1但是利用的LPC

如果能保持较低的前缀大部分都不是32位长

(因此,他们不使用的所有阶段)。在流水线上的一个营地,

另一方面,可以利用管道的方式之一,因此要求

利率可能会派出超过每个周期为高。它可能发生,

i)当大多数请求不要通过一个完整的圆

管道,或ii)当有更多的流水线级数比有

在这个结构的水平。因此,每当有人走过流水线阶段不

一个请求,争进入新的要求可以有

发行。请注意,实际的IP查询,其中一大部分的前缀

只有24位长,留下一个阶段unusedIn很大一部分为了评估cAMP的效率,我们已经完成

一管道利用率和一阶分析结果

委会。为了简化分析这里,我们假设所有

请做一个完整的圆通过管道有

是因为许多流水线阶段,因为在这个结构的水平(在本

案件管道利用率将等于委会)。后来我们考虑

情况下,当请求不要让一个完整的圆。该

现在唯一的变量是管道中的切入点。我们认为

以下四个方面的到达的请求的入口点的分布:

我)均匀随机,二)短脉冲的随机均匀

每个流水线阶段的要求,及iii)均匀长一阵

要求在每个阶段,四)加权随机的,因此有些管道

阶段获得比别人更多的请求。

毫不奇怪,长的请求导致突发利用率高

因为当多个请求到达的阶段,他们是服务

没有冲突。另一方面,当突发长度

相媲美的管道深度,请求列车创建和

随后爆发可能要等待才能发出。

加权随机均匀的要求来港定居人士可以模拟

使用离散时间马尔可夫链,但是,我们略过细节

由于空间的限制。

我们将继续与我们的软件模拟的结果,

我们产生上述四个模式和请求到达

测量结果的LPC。我们的代表有24个管道安装

通过循环阶段,要求在退出之前的所有阶段。在

图6,我们的报告不同大小的LPC请求队列。这是

显然,一个08的LPC可以实现所有的交通模式,

一旦请求队列的大小为32。这表明该难民营仍

80%,几乎所有的交通模式的高效。在另一

实验中,我们固定在每周期08请求到达率和

要求在32个队列的大小和测量的丢弃率和平均

延迟请求的经验。在运行实验

为100多万次迭代,没有请求被丢弃

,平均延迟请求有经验的只有几千万

循环。

34。当被委会大于一?

虽然直线管道委会始终是一个,委会的

坎普可以设计为大于一,它可以改善

吞吐量。这是可能的,因为营友体验一

Trie的数据结构要进一步流水线,直至数

阶段,远高于在这个结构层次多。例如,

三个子映射的尝试如图3至六个月

阶段的管线图7所示。正如我们不久将会看到,随着

许多次尝试,就不难确定每个偏移

他们让每一个阶段的管道几乎保持一致

填充。当管道中有许多阶段,每个

分特里(及其查找请求)将跨越的各个阶段只有一小部分。这会导致每一个调度周期率比一个高,

假定所有抵港请求不相同的子树遍历。

事实上,当次尝试,因此相关的前缀是

近均匀分散各地的所有阶段(因为阶段

是平衡的),它不太可能所有查询请求将争

进入一个阶段。一个正交因子是导致更高的LPC

事实上,大多数前缀的24位密切附近。

这是既不困难,也不昂贵,实施更加管道

trie树比一阶段的水平。从实践的角度来看,

多位Trie树和相应的节点编码(树位图或

形状转移特里),不仅可以减少总的内存需求

还有效地提高了管道的若干阶段。

例如,K的步伐将减少层数

(和内存访问)在特里由K因子,它可以

直接导致一个k -倍委会。

我们现在提出了一个安装的LPC那里有32阶段

管道和小组试图控制最左边的24 - 位前缀。

每个子Trie的用途跨越三树位图,因此,一个单一的查询

对面的路径最多8流水线阶段跨越。在这个实验中,我们

还假设前缀的平均长度为24位,因此,申请

透过平均只有6个阶段遍历。由于在绘制的LPC

图8的LPC为3至5,即使是交通大爆发。

对于规模较小的爆发,这是更现实,更委会

高。

4。映射IP - LOOKUP的尝试坎普

为了使拟议的基础设施运作,我们需要一个映射

特里分配算法节点到流水线阶段。

该算法的主要目的是要达到均匀分布

对阶段的节点。尤其是,映射应

尽量减少最大的(瓶颈)舞台大小。这将

不仅可以使高通量的机会,也减少了

在更新过程中不平衡的管道。

以上就是关于数据库的基本类型全部的内容,包括:数据库的基本类型、一道数据库问答题 描述数据字典概念,数据字典常有哪五个部分组成,并对各部分进行简要说明.、求教哪位高手帮我看一下这篇文章究竟说了什么啊详细一点~~~ www.arl.wustl.edu/~pcrowley/p51-kum等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9672649.html

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

发表评论

登录后才能评论

评论列表(0条)

保存