继保异构数据管理系统所有专业(编辑修改稿)内容摘要:
异构 数据分析认为,在 SQL Sever 数据库中按照传统的数据模型建立方法集中保存 异构 数据会制约数据查询速度的。 这主要是由于它 的异构 数据文件较多、每个文件很小(一般在 1k 左右) 而且格式较多等 原 因。 故考虑以下几种构建数据模型的方法: ①所有文件均以对象形式进行保存 可以充分发挥 SQL Sever 存储大对象技术保存每一个 异构 数据。 可能将每一个 继电保护异构 数据以大对象形式保存在 SQL Sever 数据库中,在提取时也相对较为方便。 但是由于 每个设备的 的文件较多, 而且数据量不确定 ,这样会导致数据库中的记录数过多,而且存取时与数据库有多次的 I/O 操作,会大大降低提取性能。 也可以将所有类型的非结构化成果数据全部保存在一个 文件 中,再把它保存在 SQL Sever 数据库中,但是需要进行大量的数据处理 ,而且海量数据存 储 4 时使用该方法不太现实。 ② 仅保存路径 可以考虑采用将实际的数据保存在操作系统中,而数据库中只保存 数据所在位置。 这样的好处是减少了数据库中数据存储操作、极大缩小了数据容量。 缺点是无法保证在外部操作系统中的数据与属性数据是一致的 ,而且数据库只能在本机使用。 ③ 全部 继电保护 数据作为一个文件存储 可以将单个 设备的所有异构数据 压缩成一个文件保存在数据库中,在取出来后再解压缩。 这种方法最为简单、 I/O 次数少、有效。 唯一不足是在只提取其中某一个类型数据时较为麻烦,即 若 只提取 设备参数 , 也 需要将整个数据提取出来。 综上所述 , 保存继电保护异构数据时,结合 SQL Server 数据库的特性,使用 C将异构数据转换为二进制流,然后将该二进制数据 以 Image 类型 保存入数据库中。 提取数据时,将该二进制流提取出来并使用程序将其转换为异构数据。 同时,为了使数据库更加直观,在保存二进制流的同时将保存其路径,以便原型系统中操作。 建立数据模型 通过对继电保护异构数据的分析,以及对数据模型可行性的探讨,确定 建立一个以 设备名称为核心 的数据模型,除结构化属性数据之外,其他非结构化数据以 二进制流 形式保存在数据库里。 考虑到客户在提取时有时提取成果 数据的一个或多个,有时是全部,为了满足用户要求,设计了 将常用的三种文件单个保存进数据库中,其他文件通过压缩保存进数据库 的数据模型,这样可以实现 检点保护异构 数据的快速存取。 压缩时采用 .NET 企业级组件中的无损压缩组件。 通过该数据模型,一条设备信息 可以对应一个或多个对象,即可以将所有 5 的 异构 数据压缩成一个对象保存,也可以形成多个对象进行保存。 6 3 优化查询方法研究 使用存储过程 存储过程( Stored Procedure)是一组为了完成特定功能的 SQL 语句集,利用 SQL Server 所提供的 TransactSQL 语言所编写的程序。 经编译后存储在数据库中。 用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它, 存储过程是由流控制和 SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量。 同时,存储过程可以接收和输出参数、返回执行存储过程的状态值,也可以嵌套调用。 存储过程的能力大大增强了 SQL语言的功能和灵活性。 存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 使用存储过程 可保证数据 的安全性和完整性。 通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。 通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。 在运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。 这种已经编译好的过程可极大地改善 SQL 语句的性能。 由于执行 SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。 而且便于 集中控制 ,当程序规则发生变化时 在服务器中改变存储过程即可,无须修改任何应用程序。 使用索引 使用索引可快速访问 数据库 表中的特定信息。 索引是对数据库表中一列或多列的值进行排序的一种结构。 索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引提供指向存储在表的指定列中的数据值的指针,然后根据 7 指定的排序顺序对这些指针排序。 数据库使用索引的方式与使用书籍中的索引的方式很相似:它搜索索引以找到特定值,然后顺指针找到包含该值的行。 使用索引 大大加快数 据的检索速度。 本系统中 在 所属区域列 上建立索引,在 其他列 不建立索引。 这样可以保证重要查询条件在定位符合条件的记录时能够进行索引跳扫、索引联接等,从而达到快速提取的目的。 字段过多的大表可拆分 由于数据搜索机制所限,字段过多的大表建议拆分成若干个小表,以关键字进行关联搜索。 减少表连接 在进行查询时,将 SQL 语句设计得更科学更精致,使其尽可能少的使用表之间的连接,或者不用连接,因为表连接会产生笛卡尔积,在两个表记录数大时会使查询性能大为下降。 如果进行表关联,则要对关联顺序进行合理处理。 本 模型将 异构数据路径 等外键关联均取消,将 所有信息 直接保存在表中,这些方法虽然不符合数据库的第三范式要求,并且增加了一部分磁盘的存储空间,但在查询时不必进行外键关联或截取计算,从而会大大提升搜索速度; 尽可能少的使用子查询嵌套 由于子查询嵌套会牺牲大量的调用所需资源,速度大打折扣。 尽量使用精确查询,少用模糊查询 这主要是因为模糊查询的匹配过程是较花时间的,尤其是在没有建立索引的列上或是在数据量非常大时,速度会受到极大的影响。 尽可能简化查询方法,力争将模糊查询简化成精确查询。 分页查询方法 8 由于在前台客户端任一时刻在可视区内能够看到的数据是有限的,一般不超过 50 条,则当符合条件的数据很多时,不要提取全部数据,而是通过 SQL语句计算并只显示符合要求的某一页的几十条数据(如第 5 页的 40 条),这样会极大的提高客户端的响应速度。 9 4 原型系统设计 原型系统框架。继保异构数据管理系统所有专业(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。