大对象数据(精选九篇)
大对象数据 篇1
随着各部门业务需求和应用的不断深入,企业办公自动化OA( Office Automation) 系统[1,2,3]正在用于处理日益复杂的管理流程和业务数据。其中,不仅要处理如文本、数值、日期等简单类型的数据,而且更要处理Office、WPS Office和PDF等多种文件格式以及图片等复杂类型的数据[4],因而如何在审批流程中实现对大对象数据的快速高效处理,并进一步提升用户体验,则是系统设计与开发的关键问题之一。本文即基于普元EOS Studio 6. 2集成开发平台,实现了图片类二进制大对象数据在Oracle 11g数据库系统上的应用与管理。
1 普元平台简介
普元Primeton EOS平台是一款建立在J2EE之上的基于面向服务的体系架构SOA( Service Oriented Architecture)[5 - 6]的应用软件平台,通过采用多层体系结构,提供了面向构件的应用机制,并且在功能上主要包括: EOS构件运行和管理环境、EOS工作流、EOS构件库和EOS构件集成开发环境四大模块。普元EOS集成开发环境( EOS Studio) 是将设计、开发、组装、调试、维护、部署、监管和发布融于一体,且据此而实现了对SOA应用和服务全生命周期的开发、维护和管理功能[7]。
2 大对象数据简介
Oracle数据库支持的LOB( Large Object,大对象) 数据类型分内部LOB( 包括Blob、Clob、Nclob和Long Raw,这些数据存储在Oracle数据库内部) 和外部LOB( Bfile) 。其中,Bfile是在数据库外部保存的二进制对象,数据完整性由操作系统来实现维护[8]。而Blob存储的通用二进制数据则在客户端和服务器之间具有较高的传输效率[9],最大容量为4GB,适用于存储非文本的字节流数据,如图片、视频、音频及程序等[10,11]。Clob却用来存储可变长度的字符型数据,最大容量为4GB,且多用于存储长文本数据[8,9]。另外,还有Nclob可用于存储民族字符型数据,最大容量为4GB[11,12]。LongRaw同样存储无结构的二进制数据,最大容量为2GB,但一个表最多只能有一列Long Raw类型数据[8]。
3 大对象数据应用与实现
本文选择Blob数据类型,以某审批流程中照片的处理为例,具体描述基于普元平台的大对象数据应用过程。在该流程中,当申请者填写申请单并启动运作流程时,需要上传合适大小的照片并能实时预览,当相关部门领导审核该单据时,即需从数据库中检索出该申请者的照片并显示在页面上; 同时,若申请单被驳回至申请环节,则需允许申请者重新上传照片或删除原有照片。
3. 1 数据库设计
在Oracle数据库中创建表TBL_DOCMANAGEMENT,该表描述流程运转时需要传递的相关内容,对应字段主要包括主键、流程发起人、单位、流程实例ID、照片等,其中照片的字段名称为photo,数据类型定义则为Blob。
3. 2 导入数据实体
普元EOS Studio平台提供数据建模工具,本例中为该流程新建构件包com. hf. doc Management,在该构件包的数据构件下创建数据集,通过新建数据集即可导入数据实体,导入时选择数据库表格TBL_DOCMANAGEMENT即可。
3. 3 页面流设计
理过程完全不同,因而需要在普元EOS Studio平台分别设计申请环节的页面流和审核环节的页面流。
3. 3. 1 申请页面流设计
创建页面流时,只需在构件包com. hf. doc Management中依次展开构件和页面流部件的模型表示,并单击鼠标右键即可创建页面流。在本例中创建的申请环节页面流可如图1所示。
由于审批流程主要包括申请和审核两大环节,其页面处
在图1中页面图元“input”为后文将要设计的申请页面,逻辑流“getP rocessD ef ID”用来根据流程定义名称获取流程ID,逻辑流“insert”用来保存申请时填写的业务表数据并创建和启动流程实例,保存业务数据时用到运算逻辑“insertE ntity”( 位于普元平台基础构件包com. eos. foundation.database. Database Util中) ,处理过程不涉及大对象数据,不再详述。
流程发起人在填写申请单时可以选择上传照片,也可以不上传,若上传照片则照片大小将限制为不可超过15KB,判断过程如图1所示。其中,页面图元 需要在Action连线“submit”上设置输出参数,用来输出上传照片的相关信息,设输出参数名称为“uploadfile”,并定义其参数类型为“上传文件类型”。用作分支条件判断的普通连线还需要进行相关设置,具体设置如表1所示。
赋值图元用来将照片传递给数据实体,需要编辑参数,左值为“businessD ata/photo”( business Data为页面input中定义的数据源名称) ,右值为“uploadfile/bytes”,右值类别为“变量”,其赋值方式为“传引用”。
上述关于照片大小的判断及赋值,用到了“上传文件类型”提供的属性“size”和“bytes”,前者获取上传文件大小,后者则获得上传文件具体内容,并将该文件读入到一个byte数组中。
3. 3. 2 审核页面流设计
审核页面流需要完成两大功能: 一是正常审核时的逻辑处理,二是申请单被驳回至申请人重填后审核时的逻辑处理。在构件包com. hf. doc Management中按上述方式及位置创建审核环节页面流,具体如图2所示。
在审核环节,首先需要在审核页面“audit”( 将在页面设计部分论述) 中显示上传的照片,具体可通过逻辑流“获取业务数据”( 将在逻辑流设计部分论述) 来设计实现。为判断是否重新上传照片或是否取消原有照片,需要在Action连线“audit Submit”上设置审核页面“audit”的两个输出参数,一是名称为“uploadfile”的参数,定义参数类型为“上传文件类型”,用来输出上传照片的相关信息,二是名称为“photo Flag”的参数,定义参数类型为“String”,作为保持或取消原有照片的判断标志。该页面流中用作分支条件判断的普通连线则需要进行相关设置,具体设置如表2所示。
若保持原有照片,则需要获取前次上传照片的内容,此时就要用到运算逻辑“expand Lob Property”( 位于普元平台基础构件包com. eos. foundation. database. Database Util中) ,据此将可获取数据实体的LOB属性对应的值,即需要将第三个参数设置为本例中LOB属性的名称“photo”。
审核环节页面流包含两个赋值图元,一个用来取消原有照片,另一个用来将重新上传且小于15KB的照片赋值给数据实体,编辑参数时,左值均为“business Data/photo”,右值均为“uploadfile/bytes”,右值类别为“变量”,赋值方式仍为“传引用”。需要注意的是,在取消原有照片时也存在赋值操作,但由于此时审核页面上没有选择或者选择了无效文件,将会导致“uploadfile/bytes”中没有二进制数据传递给数据实体,即相当于取消了原有照片。
3. 4 页面设计
进行页面开发时,只需在构件包com. hf. doc Management中依次展开、并呈现构件和页面资源部件,单击鼠标右键即可创建JSP文件。对应申请环节页面流和审核环节页面流,由此需要分别设计申请页面和审核页面。
3. 4. 1 申请页面设计
申请页面“input”用表格作为框架,首先需要定义照片预览时的数据单元,为兼容IE不同版本的浏览器,即需要使用滤镜技术,其HTML代码如下:
其次需要定义选择上传照片的数据单元,其HTML代码如下:
其中,CheckP icture( ) 为自定义的Java Script函数,用来实现上传附件格式选择及图片预览等个性化要求,具体代码如下:
3. 4. 2 审核页面设计
审核页面“audit”首先需要定义一个隐藏字段,用作保持原有照片或取消原有照片的判断标志,其值为1时表示保持,值为0时表示取消,HTML代码如下:
另外,由于申请单可能被驳回至申请人修改,故在审核页面内也需要定义选择照片的数据单元,其HTML代码同申请页面,但Check Picture( ) 函数却略有不同,主要体现在对保持或取消原有照片标志的赋值操作上,即预览照片成功后应将" photo Flag" 置为1,其代码如下:
document. getE lementB yI d( " photo Flag" ) . value = 1;
而清除照片后,则应将" photo Flag" 置为0,其代码如下:
document. get Element By Id( " photo Flag" ) . value = 0;
3. 5 逻辑流设计
逻辑流用于完成后端业务功能,本例中涉及到大对象数据处理的逻辑流却只有审核环节页面流中的“获取业务数据”逻辑流,“打开相关链接”后如图3所示。
图3中的“照片”即为前文提到的运算逻辑“expand LobProperty”,用其获取数据实体中LOB属性对应的值,同样需要将第三个参数设置为“photo”。
4 结束语
本文研究了基于普元平台和Oracle数据库系统的BLOB类型数据在审批流程中的应用步骤和方法,结合开发实践,对页面流、页面和逻辑流等涉及到大对象数据处理部分的设计和开发进行了详细说明,取得了较好的应用效果,相较于文献[13]、文献[14]及文献[15]等完全利用代码来完成在Oracle数据库中的大对象数据存取操作,其优势主要体现如下:
( 1) 解决了简单类型数据和大对象数据的集中统一管理,对insert、update等数据库常用操作无需区别对待,降低了实现难度。
( 2) 可视化的页面流和逻辑流设计界面,在一定程度上实现了图形化编程,提高了开发效率。
( 3) 提供了常用功能的逻辑构件,具有一定的粒度,提高了软件的复用度和可靠性。
( 4) 将页面展现和业务逻辑等分开实现,便于程序的扩展和维护,同时建立了不同层次功能复用的基础。
普查对象空间数据审核报告 篇2
进入三月份以来,在我市普查办领导下,我市市、县两级迅速展开普查数据的审核工作,三月底,我县普查办接受了市普查办对我县普查数据预审工作的检查指导,有力推动了我县水利普查数据的审核工作。之后,我县普查办依据水利普查空间数据处理技术规定,以质量为中心,精心组织、周密安排,经过全体普查工作人员的认真工作完成了我县水利普查对象空间数据的审核工作。现将我县水利普查对象空间数据的审核情况报告如下:
一、数据处理情况
我县普查对象正式填报名录成果:①水利工程共核实对象7类156个,其中水库工程3个,泵站工程2个,堤防工程8个,200m3/d及以上或2000人及以上农村供水工程1个,200m3/d以下且2000人以下农村供水工程121处,塘坝及窖池工程121个;②河湖开发治理保护共核实对象名录4类17个,其中:规模以上河湖取水口2处,规模以下河湖取水口5处,地表水源地2处,治理保护河段8处;③行业能力建设水利单位6个;④灌区专项共核实名录1类121个;⑤地下水取水井专项共核实名录一类90个(规模以下机电井、人力井);⑥经济社会用水共确定对象7类218个,其中:工业企业调查对象23个,建筑业与第三产业调查对象75个,公共供水企业2个,规模化畜禽养殖厂6个,灌区调查对象12个,典型城镇居民用水户20户,典型农村居民用水户80户。
二、空间数据标绘情况
1、内业标绘情况
对于可以在电子工作底图上直接辨识的普查对象,参照《第一次全国水利普查空间数据采集与处理技术规定》,通过选取工作底图中的相应分类要素,完成该对象在垫资底图上的位置、形态特征,若分类要素为未表达该对象或表达的位置、形态与遥感影像存在较大差异,则结合已掌握的实际信息,以遥感影像为参考,对空间对象的位置、业务关系等进行必要的调整,并进行规范性、准确性、图表一致性、工程体系完备性等审核。
2、外业数据核定
之前在获取普查对象外业数据时,我县普查办采取以查阅相关资料和现场调查相结合的方式确定普查对象外业数据,在确定最终数据时,以现场调查所得数据为主。在相关的几次抽查审核中,均未有大的问题或错误出现。
目前,我县水利普查办空间数据采集与处理的成果已完成100%审核,空间数据采集及标绘工作均已全部完成,具备上报条件。
面向对象数据库系统设计 篇3
关键词:面向对象;数据库;系统设计
一、数据查询(OQL)
作为数据库,最重要的估计是数据查询了,面向对象数据同样如此。在这里,我设计了以下查询语法:get(…)if(…),其中get里面是要查询的类,类的属性等,相当于SQL里面的select … where …。比如有类A,A中有一个属性a(数字型,关于类型后面会说)。则获取所有A类实例中所有a的值小于0的实例集合的查询语句是:get(A)if(A.a<0);
执行该语句应该要返回所有类A实例中所有a小于0的实例集合。具体使用方法如下:
(一)单类查询
即在一个类中进行查询。如:get(A)if(A.a<0);就返回是所有类A实例中所有a小于0的实例集合。而不带条件的查询是get(A);这将返回类A的所有实例。
(二)多类查询
如:get(A,B);将返回类A和类B的所有实例的数据。
(三)方法查询(暂不实现)
(四)表达式计算
如:get(3+3);返回的将是6。
(五)复杂查询
如:get(A.a+B.b,C,C.a/A.a)if(A.a
二、数据操作(OML)
(1)插入数据:new 类名(构造函数参数列表);这样即生成了一个实例(即插入一个实例)。举例如下:
Test t = new Test(1,2,3);//假如类Test的构造参数是三个数字类型的参数。
(2)更新数据:直接调用该类实例的引用的属性复制即可实现更新。举例如下:
t.a = 3;//假如类Test有个公有成员a且是数字型的。
可以有更复杂的、有逻辑的更新,如:if(Test.a>3){Test.a = 1;//将所有符合条件的Test类的实例的a字段复制为1,是集合操作。}
又如:while(t.a>0){Test.a——;//只要实例t的字段a的值还大于0,则所有Test的实例的值继续减一。}
(3)删除数据:free(类名)if(删除条件表达式)。如果没有if,则删除此类的所有实例。free(Test)if(Test.a>0);这将删除类Test的实例t。
(4)数据定义(ODL)
定义语言包括类的定义和对象的定义。语法模仿的Java的语法。具体如下:
定义类:
class :定义类,语法如下:class 类名{
属性定义:其中包括变量权限声明,值定义,类型声明,目前仅支持三种类型,字符串型,数字型和 比特型。
方法定义:方法定义,跟Java类似,但目前仅留接口,不做实现。}
下面是一个实例:
class Test{private num a;//数字型;public str b;//字符串型;protected byte c;//比特型,变长比特型,用来存储大容量数据;public void testMethod(num a){//方法定义,目前暂不实现a++;this.a = a;}“;//”一定要加 “;”号,否则不能结束。
alter:更新类。语法如下:alter 类名.字段名或者方法名 =
{//字段或者方法的新式描述,如果没有任何信息,则表示删除该字段或者方法};举例如下:
alter Test.a {public num a;//如果不是命名为a,而是b,则将删除a字段,新建b字段。
该语句将把字段a的访问权限从私有变为公有。下面是更新方法:alter Test. testMethod {public void testMethod(num a){//方法更新,目前暂不实现a++;this.a = a——};
drop:删除类。此关键字只有一个语法,即:
drop 类名;如:
drop Test;//即表示删除Test类。
(5)数据控制使用try{//行为}catch(){}的语法形式,用来控制事务。在try块中的行为必须全部执行成功数据库才会更改,相当于事务提交。如果发生异常(即不能全部执行成功),则事务回滚。同时还要执行catch块中的信息。一般说来,catch块中留空则只回滚事务。
参考文献:
[1]邢斌、高荣芳、刘予东,《基于JSP的学生就业管理系统》,福建电脑。2006-9
作者简介:
大对象数据 篇4
关键词:大数据,政府,工作人员,效率
大数据是当前科学技术发展的一个较为显著的特征,它有力地促进了相关产业的提升、提高了科学技术的革新水平,对生产和社会生活产生了深远的影响。在这一场大数据带来的全新革新过程中,政府要建立高效的服务型政府就必须面临大数据所带来的挑战和机遇,通过积极利用大数据的各种绝佳促进作用,提高政府的决策和宏观调控的能力。政府的高效运作,关键在于人,在于人的素质。虽然很多的文献都在研究大数据的发展对产业、对经济、对社会变革带来的各种机遇和挑战,但很少有文献从大数据的角度来研究政府如何通过大数据来提高政府的决策水平。本文从这个角度来对此问题进行初步研究。广州作为广东的省会城市,也是广东经济创新发展的重要引擎之一,所以广州市政府的工作人员的素质,尤其是在大数据方面的应对水平对提高政府决策水平是至关重要的。本文通过数据的分析,研究广州市政府工作人员在政府决策层次上的水平,并探究影响他们决策水平的深层次的原因,希望能对政府的决策工作有所帮助。
一、研究假设与模型构建
(一)研究假设
本文的研究假设是建立在前人的研究成果基础上,并且对其成果进行批判性吸收,结合本文的实际研究情况而做出的。政府和企业一样,都需要提升创新驱动的能力,决策者都需要实现决策过程和水平的转变,而这个过程的转变,依靠的是政府对大数据的处理能力,拥有一个良好的大数据资源环境是政府决策的重要基础。因为在大数据环境中,政府人员可以建立畅通的内部数据的共享机制,并且有效提高数据的使用效率。具体来说,在综合前人研究成果的基础上,本文的研究假设如下:
假设H1:数据开放性有利于人才评价的准确性的提高。
假设H2:数据利用率有利于人才与职位的匹配度的提高。
假设H3:数据利用率有利于人才评价的准确性的提高。
假设H4:数据开放性有利于人才与职位的匹配度的提高。
假设H5:人才评价的准确性有利于人才与职位的匹配度的提高。
假设H6:人才评价的准确性有利于政府的决策水平的提高。
假设H7:人才与职位的匹配度有利于政府的决策水平的提高。
假设H8:数据开放性能显著性地提高政府的决策水平。
假设H9:数据利用率能显著性地提高政府的决策水平。
(二)模型构建
本文在积极吸收前人的研究成果的基础上,并且结合本文研究对象的实际情况,尊重广州市政府工作人员对大数据使用的情况,特地构建了大数据在提高政府决策水平上模型。
二、实证分析
本文在提出研究假设和构建研究模型之后,为了得到第一手的数据,特地设计了具有针对性的问卷,问卷的发放对象主要是广州市政府的工作人员,调查对象非常明晰。问卷设计好后,先进行了20名的试调查,然后针对问卷存在的问题再完善问卷,然后得出最终的调查问卷。本研究的问卷一共发放300份,回收到的有效问卷是285份,有效回收率为95%。
(一)问卷的信度和效度检验
1. 问卷的信度分析
信度反映了测量工具所得到的结果的一致性或稳定性,是被测特征真实程度的指标。为了检验问卷的内部一致性,采用SPSS20.0的可靠性分析,测量各个量表及组成维度之间的Cronbach'sα系数,具体见表3-8内部一致性分析(N=20)。根据经验α,当α系数大于0.70时,表示问卷信度良好,在可接受范围内。
在表3-8中,数据开放性的α值是0.781,数据利用率的α值是0.798,人才评价的准确性的α值是0.813,人才与岗位的匹配度的α值是0.835,政府的决策水平的α值是0.798,而总量表的Cronbach'sα系数达到0.796,因此本问卷的一致性信度很好,可以进行问卷调查和数据统计分析。
2. 问卷的效度分析
本文主要运用因子分析的方法对量表的效度进行分析。在做因子分析之前,首先要用KMO和Bartlett球体检验法来验证所用量表是否适合做因子分析。
一般认为,KMO统计值大于0.9时效果最佳,0.7以上可以接受,0.5以下则不宜做因子分析。本分析中,KMO统计量值是0.886,说明本问卷具有较高的效度,可以进行问卷访问和数据分析。
(二)问卷的描述性统计分析
广州市政府的工作人员主要为男性,年龄主要是青壮年,学历主要是硕士学历。这些都说明,广州市政府的工作人员的整体结构还是比较合理的。
(三)研究建设检验
1. 人才评价的准确性的回归检验
以人才评价的准确性为因变量,而自变量为数据的开放性和数据的利用率,构筑并且检验它们的回归方程。
从表4中可以看到,方程常数项的显著性水平为0.000,小于0.05,表示常数项应出现在方程中。根据回归分析结果,按照各因子对人才评价的准确性的影响程度进行由大到小排序,分别为数据的开放性和数据的利用率。
构建回归方程:人才评价的准确性=40.059+0.775*数据的开放性+0.643*当数据的利用率。回归系数都是大于0.5,说明对人才评价的准确性的影响是积极作用。所以,以下研究假设都得到验证:
假设H1:数据开放性有利于人才评价的准确性的提高;
假设H3:数据利用率有利于人才评价的准确性的提高。
2. 政府的决策水平的回归检验
以政府的决策水平为因变量,而自变量为:人才评价的准确性、数据的利用率、数据的开放性、人才与职位的匹配度,构筑并且检验它们的回归方程。
构建回归方程:政府的决策水平=77.720+2.44*人才评价的准确性+1.847*当数据的利用率+2.052*数据的开放性+1.847*人才与职位的匹配度。回归系数都是大于0.5,说明对人才评价的准确性的影响是积极作用。所以,以下研究假设都得到验证:
假设H6:人才评价的准确性有利于政府的决策水平的提高。
假设H7:人才与职位的匹配度有利于政府的决策水平的提高。
假设H8:数据开放性能显著性地提高政府的决策水平。
假设H9:数据利用率能显著性地提高政府的决策水平。
3. 人才与职位的匹配度的回归检验
以人才与职位的匹配度为因变量,而自变量为:人才评价的准确性、数据的利用率、数据的开放性,构筑并且检验它们的回归方程。
构建回归方程:人才与职位的匹配度=1.701+0.53*人才评价的准确性+1.223*当数据的利用率+.602*数据的开放性。回归系数都是大于0.5,说明对人才评价的准确性的影响是积极作用。所以,以下研究假设都得到验证:
假设H2:数据利用率有利于人才与职位的匹配度的提高。
假设H4:数据开放性有利于人才与职位的匹配度的提高。
假设H5:人才评价的准确性有利于人才与职位的匹配度的提高。
三、结论及建议
(一)研究结论
本文基于广州市政府工作人员的视角,研究大数据对政府决策的支撑问题。理论贡献主要表现在将大数据驱动的管理研究运用于政府决策中,分析在大数据的背景下,政府在人才工作方面如何做出科学决策。实证分析了数据利用率和开放性这两个数据特征变量对人才评估准确性等人才变量影响的相关机制和路径过程。同时,基于人才评估准确性和人才与岗位匹配度这两个中介变量基础上,研究发现政府数据的开放性和利用率对政府在人才工作方面的决策水平起正向影响。因此,上述研究是对大数据在政府决策领域发展相关文献的有益补充。
本文研究结果对现代化建设进程中的广州市政府人才管理工作也具有重要启示。首先,本研究发现提高数据的开放性和利用率不仅有利于提高社会各方面对人才评价的准确性,还有利于提升人才与岗位的匹配度。因此,政府可以建立大数据开放平台,充分公开人才信息,如专利发明数量、论文发表量,科研成果等数据,便于社会监督,提供人才评价的准确性。同时,政府也可以制定相关的法律法规来规范数据统计,保障数据来源的真实性和数据处理过程的透明度,这样不仅对人才数据可以做到汇总,还可以实现人才数据的可追溯性,进而提高人才数据资源利用率,发挥信息资源应有的价值,真正做到“岗得其人”,“人适其岗”的用人原则,把最符合岗位素质要求的人配置到最适宜的岗位上。其次,本研究发现基于人才评价的准确性和人才与岗位的匹配度这两个中介变量的基础上,数据的开放性和利用率均正向影响政府在人才工作方面的决策水平。因此,政府人才工作的服务创新,可以借助建立人才数据库,推动广州市地区的大数据在人才工作方面的开发、研究、创新和应用。政府在实际工作中,往往会遇到很多人才工作方面的决策问题,而对大数据的有效利用是解决此类问题的最佳手段。如人才市场上存在着信息不及时、信息不全面和信息不对称等弊端,政府很难根据现有的人才信息做出正确的人才决策,而大数据则可以很好地帮助政府避免上述人才信息弊端。同时,政府可以增加人才档案的流动性,规范数据的完备性,减少资料传递过程中的缺失风险,数据的开放性和利用率提升了人才决策的速度和准确性。
(二)研究反思
虽然本研究在某些问题上进行了比较深度的研究,也取得了某些比较成熟的成果,但是研究还存在一些问题,这些问题是现在,尤其是未来的继续研究需要深思的问题。虽然本文的研究对象是广州市政府的工作人员,他们在大数据的应对和处理方面具有一定的能力和条件,但是城市政府工作对数据的开放性和利用率会高于农村乡镇等基层政府,这就导致城市政府电子政务工作正如火如荼地开展,而乡村地区却依然落后,设备依然不完善,观念依然没有转换,行政效率依然低下。因此,后续研究有必要扩大调研范围。
首先,本研究所考虑的自变量不太丰富,因为在影响政府决策水平的自变量中因素是很多的,大数据仅仅是影响政府决策的一个关键因素。社会因素、经济发展、政府自身因素、政策因素等等都是影响政府决策水平的关键因素,这些因素的系统研究,应该是将来研究的一个重要方面。
另外,本研究的样本数量不够多,代表性不是很高。因为本研究的时间、人力和财力的有限,不能做到大规模的问卷调查,发放的有效问卷也只是285份,虽然符合大样本的要求,但是为了更好地提高样本的代表性,建议未来的研究应该把样本数量提高到500份。
参考文献
[1]彭海军.大数据背景下的政府行为模式转换[J].中国新通信,2015,09.
[2]蔡立辉,杨欣翥.大数据在社会舆情监测与决策制定中的应用研究[J].行政论坛,2015,02.
[3]洪莉,孙文浩.大数据背景下官方统计工作面临的机遇和挑战[J].中国集体经济,2015,09.
[4]李艳萍.基于大数据的公共信息预警机制探析[J].图书馆学刊,2015,02.
面向对象数据库系统设计 篇5
作为数据库, 最重要的估计是数据查询了, 面向对象数据同样如此。在这里, 我设计了以下查询语法:get (…) if (…) , 其中get里面是要查询的类, 类的属性等, 相当于SQL里面的select…where…。比如有类A, A中有一个属性a (数字型, 关于类型后面会说) 。则获取所有A类实例中所有a的值小于0的实例集合的查询语句是:get (A) if (A.a<0) ;
执行该语句应该要返回所有类A实例中所有a小于0的实例集合。具体使用方法如下:
(一) 单类查询
即在一个类中进行查询。如:get (A) if (A.a<0) ;就返回是所有类A实例中所有a小于0的实例集合。而不带条件的查询是get (A) ;这将返回类A的所有实例。
(二) 多类查询
如:get (A, B) ;将返回类A和类B的所有实例的数据。
(三) 方法查询 (暂不实现)
(四) 表达式计算
如:get (3+3) ;返回的将是6。
(五) 复杂查询
如:get (A.a+B.b, C, C.a/A.a) if (A.a
二、数据操作 (OML)
(1) 插入数据:new类名 (构造函数参数列表) ;这样即生成了一个实例 (即插入一个实例) 。举例如下:
Test t=new Test (1, 2, 3) ;//假如类Test的构造参数是三个数字类型的参数。
(2) 更新数据:直接调用该类实例的引用的属性复制即可实现更新。举例如下:
t.a=3;//假如类Test有个公有成员a且是数字型的。
可以有更复杂的、有逻辑的更新, 如:if (Test.a>3) {Test.a=1;//将所有符合条件的Test类的实例的a字段复制为1, 是集合操作。}
又如:while (t.a>0) {Test.a——;//只要实例t的字段a的值还大于0, 则所有Test的实例的值继续减一。}
(3) 删除数据:free (类名) if (删除条件表达式) 。如果没有if, 则删除此类的所有实例。free (Test) if (Test.a>0) ;这将删除类Test的实例t。
(4) 数据定义 (ODL)
定义语言包括类的定义和对象的定义。语法模仿的Java的语法。具体如下:
定义类:
class:定义类, 语法如下:class类名{
属性定义:其中包括变量权限声明, 值定义, 类型声明, 目前仅支持三种类型, 字符串型, 数字型和比特型。
方法定义:方法定义, 跟Java类似, 但目前仅留接口, 不做实现。}
下面是一个实例:
class Test{private num a;//数字型;public str b;//字符串型;protected byte c;//比特型, 变长比特型, 用来存储大容量数据;public void test Method (num a) {//方法定义, 目前暂不实现a++;this.a=a;}“;//”一定要加“;”号, 否则不能结束。
alter:更新类。语法如下:alter类名.字段名或者方法名=
{//字段或者方法的新式描述, 如果没有任何信息, 则表示删除该字段或者方法};举例如下:
alter Test.a{public num a;//如果不是命名为a, 而是b, 则将删除a字段, 新建b字段。
该语句将把字段a的访问权限从私有变为公有。下面是更新方法:alter Test.test Method{public void test Method (num a) {//方法更新, 目前暂不实现a++;this.a=a——};
drop:删除类。此关键字只有一个语法, 即:
drop类名;如:
drop Test;//即表示删除Test类。
(5) 数据控制使用try{//行为}catch () {}的语法形式, 用来控制事务。在try块中的行为必须全部执行成功数据库才会更改, 相当于事务提交。如果发生异常 (即不能全部执行成功) , 则事务回滚。同时还要执行catch块中的信息。一般说来, catch块中留空则只回滚事务。
参考文献
大对象数据 篇6
经过国调中心组织国内外变电站自动化生产厂家进行了六次IEC61850互操作试验,使得国内大多数变电站自动化生产厂家的技术水平已与国外主要厂家处于同一水平,已具备实际应用要求。据了解,目前国内已有近20个变电站采用了IEC61850标准,运行情况总体良好[1]。
智能电子设备(IED)建模和模型描述都是IEC61850标准的重要特征,无论是在互操作实验阶段还是在工程应用阶段,这两部分工作都是非常重要的。在互操作实验阶段,IED的性能描述(ICD)文件都是采取手工编辑的方式生成,其编辑量大,易出错,不适合在IEC61850工程化应用阶段使用[2]。在互操作实验之后,国内各生产厂商出于对效率及质量的追求,相继组织开发了一系列针对IED建模及模型描述的工具软件。然而在这些工具的开发过程中,对于IED模型描述部分,无一例外的都是采用了传统的关系型数据库来存储ICD文件信息[2,3]。由于IEC61850完全采用面向对象的分层设计思想,因此这些建模工具在实际应用中需要从关系数据库提取零散的字段数据,再按照IEC61850的定义将其组织成符合要求的IED对象模型。这无疑增加了建模过程中的额外资源开销以及后续数据更新及修改的工作量。
本文提出依照IEC61850面向对象的建模思想,对IED的建模数据采用面向对象的db4o数据库存储的方案,实现了IED建模工具完全面向对象地对模型对象数据进行存储、提取等操作。这不仅利于对IED面向对象模型的理解,还大大提高了模型数据存取的效率。
1 面向对象的相关技术
1.1 面向对象的IED建模技术[4~12]
IEC61850将IED按功能抽象为一个个逻辑节点。逻辑节点为基本数据模型,包含一定的数据(对象),数据(对象)又由相应的属性构成。层次间是父与子的一对多关系,即一个物理设备可由多个逻辑设备构成,依此类推。设备在建立模型时必须遵照标准的定义,但其逻辑节点、公共数据类是可以扩充的。图1为不同的逻辑节点构成IED的简单示例。
图1中包含的逻辑节点有PTOC(定时过流保护)、PDIS(距离保护)、PTRC(跳闸条件)、XCBR(断路器)。通过将功能抽象为逻辑节点,各个功能就能很容易地组合到IED中,从而满足各种不同情况下相对应的需求。如图1中所示,可以将PTOC功能和PDIS功能放在同一个IED内作为IED的两种功能通过网络向断路器传送跳闸报文;也可以将它们包含在两个专门设备内作为两种功能同时处理同一个故障,独立地通过网络向断路器传送跳闸报文。
1.2 面向对象数据库技术
从20世纪80年代中期以来面向对象方法开始应用于数据模型及数据库系统中,建立了面向对象数据库管理系统及面向对象数据库系统,它们已在数据库领域中发挥重大作用[13]。
面向对象数据库与传统关系型数据模型相比较,具有如下几方面优势:
(1)面向对象数据库对数据语义的扩展更大,允许定义任何复杂的数据类型和提供与数据相关联的行为。
(2)它具有表示和构造复杂对象的能力,可以模拟复杂的现实世界,其对象的取值可以是另外一个对象,实际储存的又是该对象的标识,这样的表示又自然,又容易理解。
(3)面向对象技术强调与数据相关软件的组织而不是控制流,从而把开发者的注意力转向数据库设计者的意图。如图2所示,对于面向对象数据库而言,不用再像关系数据库那样考虑对象在数据库中是如何映射存取的了。
(4)面向对象数据库在功能方面与关系数据库有很大的区别。关系数据库在运行时根据存在表中的数据集而导出一个虚结构。而面向对象数据库本身含有对象,这些对象在运行时不需要导出。
(5)面向对象数据库是一种主动型数据库,而一个关系型数据库则是被动型的数据库。关系数据库主要提供的是增加和删除记录的能力,而面向对象数据库主要提供在对象中嵌入方法的能力。
IEC61850完全采用面向对象思想对IED建模。因此采用面向对象数据库对IED建模,与传统关系型数据库相比,现实IED与模型IED之间的映射关系更加简单清晰。并且在具体存储中,由于没有了复杂的关系映射,大大简化了直接对象到对象的存储与提取过程。
2 基于面向对象数据库的IED建模工具设计
2.1 IED建模分析
本文重点讨论基于IEC61850标准的IED模型描述文件(ICD)的存取过程。ICD文件主要由两部分组成:IED数据段和Data Type Templates数据段。由于Data Type Templates段为基本的逻辑节点类型定义,在整个工程应用期间,应该是统一不变的,因此下面仅阐述IED段的数据库建模,Data Type Templates段的建模方式与此大同小异,这里就不再累述了。
图1中的第一个IED为实际设备“Bay Unit(间隔单元)”的例子,包含PTOC(定时过流保护)、PDIS(距离保护)、PTRC(跳闸条件)三个逻辑节点,共有两种保护功能,下面参照IEC61850对该示例IED进行建模分析。
如图3所示,该IED包含的3个基本功能的过程数据、基本功能以及间隔单元的其他重要方面建模为树形结构的数据。树的每个元素是数据:在最上面的数据是“Bay Unit(间隔单元)”,它包含PDIS、PTOC和PTRC。例如PDIS包含的数据“启动(Str)”具有不同的属性例如“总的(general)”和“A相(phs A)”,而数据“动作(Op)”则具有“总的(general)”、“品质(q)”以及“时间标记(t)”属性。
2.2 工具系统结构
该建模工具具有基于Java开发的视窗模式的操作界面,共分为六部分:主控制模块(协调其他各模块之间的通信,控制)、人机界面模块(提供人机交互功能)、数据库控制模块(完成与db4o的连接,以及各种数据操作)、对象建模模块、XML控制模块、ICD文件生成模块。建模工具的系统结构如图4所示。
下面具体阐述其中部分主要模块的功能[14]。
(1)对象建模模块:对示例IED的树形模型(如图3所示)进行对象实例化,抽象出各节点、数据、属性的对象类关系,并通过数据库控制模块在db4o中建立各个对象。
(2)XML控制模块:通过数据库控制模块访问数据库,提取数据并按照建模要求组织成对应的XML数据。XML层次格式如图5所示,其中具体的属性及数据依情况而定,这里仅给出模型框架示例。
(3)ICD文件生成模块:调用XML控制模块生成的对应IED的XML数据,依照IEC61850-6配置要求在磁盘上组织生成完整的ICD文件。
3 基于面向对象数据库的IED建模工具实现
3.1 开发工具选取
本文的核心思想是面向对象数据库,因此选择一个适合的数据库产品尤为重要。分析对比了目前一些面向对象数据库产品后,决定采用db4o(database for object)作为数据库开发平台。
db4o是一个开源的纯面向对象数据库引擎,对于Java和.Net开发者来说都是一个简单易用的对象持久化工具。同时,db4o已经被第三方验证为具有优秀性能的面向对象数据库[15]。
db4o支持Java和.Net两种开发环境,考虑到跨平台性,本文选取J2SE作为用户界面部分的开发平台,选用SUN公司重点推广的Net Beans6.1作为集成开发工具。
3.2 具体实现
(1)设计编码Java类对象,抽象为对应的IED节点对象。
(2)设计XML模块,完成IED从db4o到XML结构数据的对象到对象的转换。
(3)使用Net Beans6.1开发用户界面,完成界面数据录入并组织为相对应的IED模型对象,存入db4o。
图6、图7显示了通过db4o工具Object Manager查看IED数据对象最终存储的情况。
4 结论
4.1 效率及优势
面向对象的IED建模是IEC61850思想的精髓,因此从工程实施角度来看,采用面向对象数据库对IED对象的数据、关系的存储,减少了工程应用人员对于IED配置文件的操作工作量。同时由于应用与规范的严格统一(纯面向对象),从而对IEC61850有一个更直观深刻的理解,便于后续工作的开展。
4.2 存在的问题
目前为了开发的简便,工程人员在录入IED配置数据时采用从界面选择已有的内容存入数据库。因此一些特殊情况下的配置内容便无法兼顾。
由于面向对象数据库的发展时间不长,某些方面还不成熟。比如实例查询方面,还不如传统的关系型数据库功能强大。
面向对象的数据库技术研究 篇7
一、数据库技术的发展历程
随着科学技术的不断发展, 计算机也由最初的进行复杂计算的笨重机器发展成为能够处理人们日常事务的微型事务所。在此过程中, 由于需要处理大量的数据关系, 数据库技术也就应运而生。
从数据库的产生到现在, 仅仅几十年的时间里发生了三次质的飞越。在计算机系统产生之后, 人们就开始着手研究对于计算机中大量文件的整理、分类、检索以及更新等工作。当时为了建立起统一的数据处理组的操作系统, 产生了数据模型的概念。在当时的数据模型中的代表是层次模式和网状模型, 这两种数据模型奠定了数据库系统发展的基础。在1970年IBM公司的研究成员发表的一篇论文中, 第一次提出了数据库的关系模型。在论文中对数据库关系方法以及关系数据理论进行了深入的研究, 这些理论研究为数据库技术的进一步发展奠定了坚实的理论基础。在数据库技术的第二代发展中, 就是以这种具有较高数据独立性以及严谨的数学基础的关系数据为代表的。随着研究人员的不断努力, 仅仅在关系数据理论提出十年之后, 市场上就已经出现了多种关系型商业化的数据库系统。这些商业性数据系统的开发, 特别是在微机上对于数据库的使用, 使得数据库的管理优势更加明显。随着科学技术的不断进步, 人们不断加深对于计算机技术的研究, 数据库技术也逐渐扩大其相关领域, 与当时先进的通讯网络、多媒体技术等多种技术相结合, 实现了第三次飞跃。
二、将面向对象技术与数据库研发相结合的优势
随着科学技术的不断发展, 目前在数据库系统中普遍使用的关系型数据库已经不能完全满足人们对于数据库性能的要求。比如, 在数据库关系模型中, 就不能完成对一些最基本的文本、图像或者地球空间等对象的处理。计算机的数据库系统中只可以识别一些数字、字符串和固定的逻辑值, 对于前面提到的文本、图像、视频等大对象根本无法识别。在关系型数据库系统中, 这些对象常常作为位的扩展, 但是即使是这样这些信息对于数据库也是毫无意义的。针对关系型数据库产品的这一致命缺点, 有些生产商专门针对其进行了一些扩展研究, 根据用户的需求在搜索和检索的功能中加入了对于这种大对象的搜索支持, 但是这种做法并不能起到很好的改善作用, 因为关系型数据库在概念上根本就不包括对大对象的支持。而面向对象技术则能很好地解决这些问题, 面向对象技术能通过利用一些对象、类等技术满足用户对于一些数据的特殊需求, 与关系型数据系统相比, 将面向对象技术应用到数据库系统中的优势主要有以下几个方面:
(一) 面向对象技术能够支持复杂的数据模型
传统的数据库只能接受一些数字、字符串等简单的数据, 对于复杂的数据模型缺乏相应的信息描述、管理、检索能力。而面向对象技术可以很好地解决对于复杂数据的处理问题, 因此将面向对象技术与数据库技术相结合之后, 就能够满足用户对于复杂数据的特殊处理需求。
(二) 面向对象技术能够支持复杂的数据结构
在传统的关系型数据库系统中, 虽然已经有非常先进的功能, 但是在数据库设计过程中的层次性要求以及设计对象的多项性方面还存在很大的不足。在关系型数据库中采用的是二维表的表现形式, 单靠二维表是不能完全表现出数据之间的关系以及数据类型的, 而面向对象技术就可以利用其中的对象完成对于复杂数据关系、数据类型的描述。
(三) 能够接受大型数据对象
针对传统数据库系统中不能接受大型数据的缺陷, 面向对象技术中可以利用多种分步计算的方式, 实现对于大型数据的处理, 并且可以支持对于大型对象的储存。
(四) 保证数据的完整性
面向对象技术的主要思想就是通过触发机制来保障数据的完整性, 其基本思想就是将用户的业务要求封装到一个个具体的对象中, 当需要对这些数据进行处理的时候, 再通过一定的调用信息将数据调出来, 这样能够更好地保证数据的完整性。
三、面向对象的数据库技术的发展现状
就目前面向对象技术的发展来看, 许多专业人士认为拥有许多原型系统, 并且向市场中推出了商品体系的OODBMS的核心技术已经成熟。但是, 对于复杂的数据库的开发与研究其实还有很大的发展空间, 就目前的面向对象的数据库技术, 还没有一个特别完整的面对数据库中所有对象性质的数据库或原型系统。同时, 对于面向对象本身也还有很多没有明确统一的概念, 面向对象数据库应该具备怎样的性质还没有得出统一的标准。其次, 不同的面向对象系统应该支持不同的对象, 而对于该对象的说明工作也没有明确的标准。在查询方面, 由于不同的面向对象系统对应不同的对象, 因此每种面向系统都应该有自己的查询语言, 首先不考虑这种查询语言的发展状况, 单从查询语言不与SQL标准兼容方面来说就是面向对象技术发展急需解决的一重大问题。由于以上这些因素, 虽然市面上的面向对象数据库系统为用户创建了新型的数据模式, 能够使用户灵活处理大型数据, 并且可以将许多实例加入到该模式中, 但是对于从数据库中对数据进行检索还没有相应的较为有力的手段。现在的面向对象技术已经有了发展的主导方向, 但是在某些方面的研究成果还较少, 目前针对面向对象数据库系统的各种研究方法的研究状况如下:
(一) 针对对象的程序设计语言
虽然这个研究方面在商业角度来说并没有多大的意义, 因为从商业化的角度来看, 没有任何一种商品化的形成是单纯依靠持久的程序语言的。但是这个方向上的研究对于面向对象数据库设计过程却产生了非常积极的影响, 这个方向的研究必然会持续下去。目前, 持久性程序语言设计已经帮助面向对象数据库系统的设计在导航式程序设计界面获得了突破性进展。除此之外, 在持久性程序语言设计中的持久模型、持久数据垃圾的收集模式等研究成果, 都可以应用到面向对象数据库的设计研究中。
(二) 建立数据库系统中的工具包
在以前的数据库系统中使用的EXODUS等工具包已经很少有人继续使用了。其中一方面是因为, 随着科学技术的发展数据库越来越复杂, 其中数据的种类越来越多, 而这些工具包不够灵活, 已经不能满足在数据库设计中对于工具包性能的需求。另一方面是因为, 在新型的面向对象数据库系统中, 数据库本身就已经具备了足够的可扩充性, 能够满足用户对于特殊领域的需求。因此也就不需要再耗费精力去研究工具包了。
四、总结
到目前为止, 数据库的理论知识的扩展以及商业上的推广都已经取得了相当可观的成就。数据库技术已经发展成了计算机科学中的主要技术领域。数据库技术已经被广泛地应用到企业的深层管理、情报的获取以及进行决策等多个领域中, 极大地方便了人们对于计算机的使用, 成为实现数据库信息化系统的最基本的技术, 而新型的面向对象数据库系统也将逐渐进行完善, 更好地为人们的需求服务。
参考文献
[1]应建.面向对象的数据库技术研究[J].电脑知识与技术, 2011 (16) .
[2]吴莉霞.大规模定制下产品配置系统数据库的设计与实现[J].计算机与数字工程, 2013 (9) .
面向对象视角的软件数据库 篇8
1970年,埃德加·科德在IB M的圣何塞研究实验室,提出了一种新的称为关系数据模型的数据表示框架。这被证明是一个在数据库系统发展中的分水岭。它引发了dbm s关系模型的快速发展,建立在一个坚实的丰富的理论成果基础上。
在20世纪80年代,关系模型巩固了它作为D B M S范例的地位,数据库系统也继续获得广泛地使用。作为IB M系统R项目的一部分的关系数据库SQ L查询语言成为了现在的标准查询语言。SQ L的标准化是在20世纪80年代年代末,当前的SQ L-92标准是由美国国家标准协会(A N SI)和国际标准组织(ISO)制定的。可以说,使用最广泛的并发编程形式是数据库程序的并发执行(称为事务)。
在20世纪80年代末和20世纪90年代,数据库系统已经在许多领域取得了进步。相当多的研究尝试了更强大的查询语言和更丰富的数据模型,并且在支持一个企业的所有复杂数据方面已经有了一个大的突破。几个供应商(如。IB M的D B 2、O racle8,Inform ix U D S)把他们的系统拓展到有能力存储新的数据类型,比如图像和文本。并且有能力响应更复杂的查询。
二、物理数据库设计
像所有其他方面的数据库设计一样。物理设计必须遵循数据的性质及其用途。尤其重要的是要理解典型数据库必须支持的工作负载;工作负载由一个混合的查询和更新组成。用户也对某些查询或更新有一定的要求,它们的运行速度是以每秒必须处理多少事务来衡量的。工作负载的描述和用户的性能需求是物理数据库设计决策的基础。
三、数据库工作负载
良好的物理设计的关键是到达预期的工作负载。一个工作负载描述包括以下要素:
第一,查询列表和他们的频率,所有查询和更新的一小部分。
第二,更新的列表及其频率。
第三,每个类型的查询和更新的性能目标。
对于每个查询工作负载中,我们必须确定:
访问的关系。
哪些属性需要保留(在SELECT子句)。
哪些属性有关于他们的选择或加入了条件表达(在WHER 子句中)和这些条件是如何选择的。同样的,对于每一个工作负载中地更新,我们必须确定:
哪些属性有关于他们的选择或加入了条件表达式(在WHERE子句中)和和这些条件是如何选择的。
更新的类型(插入、删除或更新)和更新的关系。
更新命令,修改更新的字段。
请记住查询和更新通常有参数,例如,借记卡或信用卡操作涉及特定的账号。这些参数的值确定选择性的选择和加入的条件。
更新有一个查询组件用于查找目标元组。该组件可以受益于一个良好的物理设计和索引。另一方面,更新通常需要额外的工作来维护索引的属性修改。因此,虽然查询能受益于索引,索引可以加快或减缓给定更新操作的速度。当创建索引时设计师应该记住这trade-offer。
四、数据库调优的必要性
在做系统的初步设计时,准确,详细的工作负载信息可能很难获得。因此,数据库设计调优和部署之后我们必须根据实际使用模式来完善初步设计以获得最好的性能。
当初始概念模式设计和一组索引和聚类决策被制定以后我们可以认为设计过程已经结束。任何对概念模式或索引的后续修改,,就会被视为一个调优活动。或者,我们可以考虑把一些细化的概念模式(和受此影响物理设计决策细化)作为物理设计过程的一部分。
画出设计和优化的界线不是很重要。
五、数据库调优的概述
数据库设计的初始阶段后,实际使用的数据库提供了一个可用于完善初步设计的可贵详细信息,。原来关于预期工作负载的许多假设可以被观察到的使用模式所替代;在一般情况下,初始工作规范将被验证,它们中的一些将被证明是错误的。初始猜测的数据大小能被来自系统目录(尽管这信息会随着系统的发展变化)的实际统计数据所取代。仔细监控查询可以揭示意想不到的问题;例如,优化器可能不会使用一些索引产生良好的计划。
数据库持续调优获得最好的性能是很重要的。
六、调优的概念模式
在数据库设计的过程中,我们可以意识到我们目前的关系模式的选择不让我们满足我们给定的带有任意一组物理设计选择的工作负载的性能目标。如果是这样,我们可能不得不重新设计概念模式(和审影响我们做出更改的视物理设计决策)。
我们可能认识到,在初步设计过程中或之后,或者系统已经使用了一段时间后,系统有必要重新设计,。一旦数据库已经被设计和数据被存储进去后,改变概念模式和映射关系影响的内容需要很大努力的。尽管如此,有时在系统开发的过程中修改概念模式是必要的。我们现在从性能的角度考虑在概念模式(重新)设计中所涉及的问题。
调整概念模式时必须考虑的几个选项:
我们可以决定接受一个3nf设计而不是B C N F设计。
如果有两种方法可以将给定模式分解成3nf或B C N F,我们的选择应该依据工作负载来定。
有时我们可能会决定进一步分解一个已经存在B C N F的关系。
在其他情况下我们应该尽可能正规化。我们可以选择替换关系的集合,分解得到的更大的关系,尽管它可能会有一些冗余的问题。或者,我们可以选择添加某些域或某些关系加快一些重要的查询,即使这将导致一些信息的存储冗余。
规范化的讨论集中在技术分解,这相当于垂直分区的关系。另一个需要考虑的技术是关系的水平分区问题,这将导致我们的关系有两个相同的模式。但我们需要创建两个有区别的关系(可能带有不同的索引和限制)
顺便说一句,当我们为了原来的模式更自然而重新设计的概念架构时,特别是如果我们正在调整现有的数据库架构,考虑是否应该创建视图来封装这些用户的变化是值得的
七、查询和视图的调优
如果我们注意到一个查询运行比我们预期的要慢得多,我们必须仔细检查查询去解决这个问题。一些查询的重写与一些指数的调优,经常可以能碰到这些问题。当在某些视图上运行的查询比预期的慢时,类似的调整可能会被运用。
调优查询时,首先要验证的是你希望系统使用的调优计划。这可能是因为各种各样的原因系统没有找到最好的计划。一些常见的情况下,没有有效地处理许多优化:
选择条件涉及空值。
选择条件涉及算术或字符串表达式或选择条件涉及链接。例如,如果我们有一个条件。年龄=2*D。年龄在WHERE子句中,优化器可能会正确地初始化一个可用指数E在年龄字段上,但是无法在D.age上使用一个可用的索引。用E.age/2=D取代这个条件将会扭转局面。
无法识别诸如一个唯一索引扫描的聚合查询涉及一个GROUPBY子句的复杂计划。
如果优化器是不足够聪明去制定最好的计划(使用访问方法和评估策略支持的DBMS),一些系统允许用户通过提供优化的提示来指导计划的选择;例如,用户可以强制使用一个特定的索引或选择连接顺序和连接方法。用户希望以这种方式来指导优化应该全面了解优化和给定的数据库管理系统的功能。
八、其他话题
(一)移动数据库
便携式电脑和无线通信的可用性催生了新一代的游牧数据库用户。在某种程度上这些用户仅仅是通过网络访问数据库,这是类似于分布式dbms。在另一个层面,网络以及数据和用户特征现在有了一些新颖的特性,这些特性影响一个数据库管理系统的许多组件的基本假设,包括查询引擎、事务管理器和恢复管理器。
用户通过一个无线链路连接其带宽是以太网的十分之一,不到ATM网络的百分之一。沟通成本因此比I/O和C PU成本更高。
用户的位置在不断变化,移动计算机有一个有限的电池寿命。因此,真正的沟通成本是连接时间和电池的使用加之传输的字节数,变化不断地取决于位置。数据频繁地被复制为了最大限度地减少从不同的地点访问它的成本。
用户移动时,数据可以在一个事务中从多个数据库服务器访问。失去联系的可能性也比在传统的网络更大。因此集中事务管理可能不切实际,尤其是一些数据是在移个人的移动电脑上。我们可能不得不放弃ACID事务并为用户程序开发替代的一致性概念。
(二)主存数据库
内存的价格已经足够低,对于许多应用程序来说,我们可以买到足够的内存来容纳整个数据库,带有64位寻址的现代的cpu也有非常大的地址空间。一些商业系统现在有几个g的内存。这一转变提示我们重新审视一些基本的数据库管理系统的设计决策,因为磁盘访问不再主宰内存数据库的处理时间:
内存不能从系统崩溃中幸免,所以我们仍然需要实现日志记录和恢复来确保事务原子性和持久性。日志记录在提交时必须必须被写入稳定的存储,这个过程可能成为一个瓶颈。为了最小化这个问题,而不是每个事务完成后提交,我们可以收集已经完成的事务和批量提交;这就是所谓的组提交。恢复算法也可以进行优化,因为网页很少有被写出来,为其他页面的空间。
内存操作的实施不必再那么仔细因为磁盘访问不再是性能的限制因素。
在优化查询时,必须考虑一个新的标准,即所需的空间来执行一个计划,即执行一个计划所需的空间量。最小化空间开销是很重要的,因为超过可用物理内存会导致把页面交换到磁盘(通过操作系统的虚拟内存机制),这样大大减慢执行速度。
参考文献
[1]蒋秀英.SQL Server 2000数据库与应用[M].北京:清华大学出版社,2006.
[2]龚小勇.关系数据库与SQL Server 2000[M].北京:机械工业出版社,2007.
[3]萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社,2000.
[4]李中华.基于NET的模式实现与应用[D].四川:四川大学,2006.
[5]任开银,黄东.在NET上架构公司级应用程序[J].微型机与应用2003,1.
大对象数据 篇9
1空间数据管理研究现状
从空间数据的管理实践中, 很多学者提出了不同的管理思路, 尤其是在关系型数据库空间数据管理上, 有学者提出设计基于空间数据的关系数据库;有学者提出基于空间数据映射的嵌入式SQLite方法;也有学者通过对遥感影像数据的分析, 提出基于Arc SDE技术的算法。然而, 对于面向对象的数据库, 如SQL Server、Oracle、Postgre SQL等主流数据库, 因其非结构性特点, 在数据存取管理上难以实现对不同字段的直接存取。特别是两者数据库在程序设计上的不匹配问题, 也给空间数据管理带来更长的时间消耗, 影响空间数据库管理效率的提升。
2空间数据管理机制研究
针对空间数据管理对象的特殊性, 主要分为矢量数据、栅格数据及影像数据三种。在程序语言设计上, 多通过定义Raster Layer类、Vector Layer类和Image Layer类来进行不同类型数据的表示。因此, 在空间数据管理机制上, 也分为三种。第一种是基于矢量的空间数据管理机制, 以欧几里得几何学中的点、线、面及组合来进行数据空间分布表示, 并从矢量数据精度、存储冗余度等方面来进行网络化分析。如依照维度变化来划分0维点、1维线、2维面;在数据表示上用一个坐标来表示点, 用连续坐标点表示线, 面是由外边界和0到多个内边界组成, 边界表示成环, 环由多个连续的点坐标构成。因此在面向对象的程序设计中, 可以利用CPoint、CLine、CPolygon来表示空间数据及属性特征, 并通过建立基于面向对象数据库的矢量数据库检索机制来实现对面向对象数据库的管理。
从空间数据库中的栅格数据来看, 其多为均匀的网格单元, 并由相应的属性值来进行表示。如某栅格结构中的点可以由单栅格进行表示, 其数值与紧邻网格值具有差异性;栅格线由连续的栅格单元构成, 各个属性值具有一致性, 但与邻域栅格值具有差异性;面是由多个连续聚集的栅格单元构成, 区域内栅格值具有一致性, 而邻域栅格值具有差异性。从空间数据结构组成上, 栅格数据表达可以用Cell表示, 每个栅格单元有行号、列号及值三部分, 而Grid表示起始坐标、行数、列数;Raster Layer为栅格数据图层, 用于表示空间参考信息。
对于影像数据的管理, 可以从其记录载体上对不同感知方式、空间尺寸及监测的动态数据变化信息进行表征, 并以图像方式来呈现, 为后续影像空间数据管理创造条件。通过面向对象程序设计, 将Image类作为影像数据表达结构, 并通过图像处理函数实现二进制文件转换, 以便于对其进行快速存取。当然, 遥感影像数据在管理上多以块为单位, 建立基于面向对象的块数据检索是实现存取操作的前提。
3基于面向对象空间数据管理系统的设计
在对空间数据系统进行管理中, 需要满足三项要求, 一是对矢量、栅格及影像数据的存取操作;二是满足对矢量、栅格、影像数据类型的定义、检索与更新;三是实现对矢量、栅格、影像数据的可视化交互管理。为此, 在设计空间数据库管理系统中, 需要从两个方面来保障协同管理。
3.1系统架构上的设计
根据面向对象数据库的基础原型, 需要搭建三层数据管理架构, 即基础数据库层、数据库管理功能层及数据库服务层。对于基础数据库层, 主要包括面向对象的矢量数据库、栅格数据库及影响数据等空间数据, 也是构成整个数据库设计的底层基础;对于数据库管理功能层, 主要是满足基于空间数据的表示、存取、数据库检索、空间数据更新等要求;对于数据库服务层, 以满足对空间数据的表征、控制, 增删空间数据、缩放空间数据图层, 以及平移等操作, 在与空间数据进行系统交互过程中为用户浏览提供条件。
3.2软件开发平台的实现
以Visual Studio软件为开发平台, 利用开源数据库Db40进行存取, 来设计空间数据库管理系统模型。在空间数据库设计上, 利用面向对象的数据库存取方案, 分别从点、线、面矢量数据转换与表征上, 建立与db40数据库的存取机制, 利用栅格数据库来满足对空间数据库栅格数据类型的存取, 特别是设计栅格数据库检索与更新机制, 来实现栅格数据的快捷、直观可视化管理;针对空间数据库中不同城市、建筑、边界等差异, 在栅格数据表示上, 融入高程模型, 以亮度来区分不同高程区域, 以满足对空间数据遥感影像的准确展示。
4结语
从本研究对空间数据库的分析与应用来看, 基于面向对象的数据库系统在设计上, 应该满足矢量空间数据、栅格空间数据、影像数据的结构化转换, 尤其是在数据库类的设计上, 要避免面向对象程序设计语言在空间数据表征与执行中的效率低下问题, 通过建立与空间数据库不同数据类型的检索与映像, 来快速呈现不同空间数据库的管理需求, 满足对空间数据多维性、时态性要求。当然, 随着空间数据库海量性特征, 在建立空间数据库空间索引机制上, 着重于对数据检索效率的提升, 解决延时性问题。
摘要:从数据存取方式来看, 关系型数据库与面向对象数据库具有差异性, 无法在程序设计上进行良好匹配。因此, 从分析现有数据库的空间类型、数据结构及影像表达矢量等特点, 来提出基于面向对象的空间数据库管理模型, 来实现对空间数据的可视化管理。
关键词:数据库,矢量模型,空间数据,转换机制
参考文献
[1]陆宁, 马智亮.利用面向对象数据库与关系数据库管理IFC数据的比较[J].清华大学学报 (自然科学版) , 2012 (06) .
相关文章:
矿用调度绞车排绳装置02-19
2如何正确认识毛泽东的功过是非和毛泽东思想的历史地位和指导意义02-19
如何正确看待成绩02-19
维修电工技师工作业绩02-19
设备远程维护电力论文02-19
多媒体设备日常维护运行骨干小组02-19
余庆“他山文化”服饰设计理念与实践02-19
设备设施运行维护方案02-19
设备系统运行维护计划02-19