一个内存数据库模型的设计与实现.pptVIP

一个内存数据库模型的设计与实现.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个内存数据库模型的设计与实现

硕士论文答辩 一个内存数据库模型的设计与实现 荣垂田 主要内容 课题背景 随着电力系统的改革,电能量采集系统的地位越来越重要,系统由单纯服务于调度扩展到电力行业的计划、交易、营销等专业,数据量由单纯的电量扩展到需量、瞬时量、参变量等。 为适应电力系统的发展满足电力改革的需求,决定在原有的电能量采集系统产品的基础上,研发面向未来的新一代采集系统。新系统要求系统的数据库具有高效的、稳定的实时特性。 内存数据库概述 现有系统的分析 现有系统的分析 改进方案 内存数据库服务器的设计与实现 物理数据组织与管理 内存数据库的索引结构 内 存 数 据 库 的 工 作 流 程 并发服务器的创建 SQL语句分析 服务器与客户端之间的通信协议 为了使内存数据库正常的工作,保证客户端与服务器之间的通信,根据实际的工作需求制定了客户端与服务器之间的通信协议。根据客户端请求的不同可以将通信过程分为两类: 一类是返回结果不包含结果集的,例如Update,Delete,Insert,Create等语句; 另一类请求是包含Select查询语句的请求,这类请求通常都要返回结果集以供客户端的应用程序使用。 事务与并发控制 事务是用户定义的一个数据库操作的序列,这些操作要么全作要么全不做,是一个不可分割的工作单位。在关系数据库中可以是一条SQL语句,一组SQL语句或整个程序。在本内存数据库中把每一个客户端的请求也即SQL语句作为一个事务来处理。 数据库是一个共享的资源,可以供多个用户使用。在这样的系统中,同一时刻并行运行的事务数可达数百个,然而这样事务的ACID特性可能遭到破坏,为了保证数据库的一致性,DBMS需要对并发操作进行正确的调度――数据库的并发调度机制。 并发控制就是要用正确的方式调度并发操作,使每一个用户事务的执行不受其他事务的干扰,采用的主要技术是封锁机制。 故障恢复 为了保证操作的完整性和数据库的ACID特性,对数据库所做的每一个影响数据库数据的操作都将被记录到日志文件中,对于日志文件的记录使用WAL(Write-Ahead Log)方法,即先将对表的操作记录到日志文件中,然后才进行数据的操作。 数据库在启动的时候将建立两个日志文件,库中的每个表在两个日志文件的任何一个中都有自己的记录日志的空间。日志使用内存映射日志,数据库启动时首先将其中的一个日志文件映射到内存,这样每个表都有自己的日志空间互不影响,空间的大小可以由用户来设置,两个日志空间使用Ping_Pang法轮换使用。日志空间(文件)的切换发生在以下情况: (1)日志空间满 (2)日志监视线程检查发现当前日志空间中的记录量达到用户的预定值 (3)通过程序更改当前日志空间 数据库故障恢复的过程 1.根据系统配置文件进行数据库的重建和相关信息的初始化。 2.检查运行记录文件。检查数据库是否为首次启动。根据设计的要求,在数据库初次或者经过配置重新启动前要运行初始化脚本将所有的文件信息初始化。如果是初次起动则进入3;否则,无论是用户主动暂停运行还是被动停止都要根据运行记录文件和日志文件以及系统配置文件将两个日志文件中的操作更新到磁盘上。 3.根据系统配置文件,将需要的历史数据读入到内存数据库。 4.将运行记录文件,日志文件映射到内存,并启动日志定时监视进程。 5.进行提供服务前的初始化工作。 内存数据库的客户端软件开发包 本内存数据库系统采用C/S模式实现,客户端的请求都以SQL语句的形式发送给服务器,为了方便用户的使用,提供客户端软件开发包。提供此开发包的目的在于减少使用者的劳动量,屏蔽一些底层的实现。 其中的功能主要有:连接的建立,SQL发送前的处理,通信协议的客户端实现,返回结果的提取等。 系统配置与管理客户端的设计与实现 本内存数据库在设计的过程中,是以传统的磁盘数据库作为内存数据库数据持久化的存储介质。内存数据库中的数据是最新的版本,是从远程装置采集来的。内存数据库中表结构的属性集合是磁盘数据库中表的属性的集合的子集 由于本内存数据库和与其相关的磁盘数据库的特殊关系,在分析了现有内存数据库的配置方式的基础上,我们提供了配置工具,利用此工具可以快速对内存数据库的结构进行构造。 设计的原理 配置工具的使用过程 首先要选择相应的数据库; 登录数据库,这时工具界面显示的是其中的表信息; 根据实际的需求选择需要在内存数据库中实现的表,这时显示的是表的整体信息,如创建时间,包含的字段数等; 选择相应的表,再点击选择字段菜单,即进入字段选择界面,这时现实的是该表中包含的各个字段。 选择要在内存数据库中出现的字段,使需要的字段出现在右边的多选框内。 如果已经选择完毕,则可以点击生成文件按钮,

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档