一个内存数据库模型的设计与实现.ppt
《一个内存数据库模型的设计与实现.ppt》由会员分享,可在线阅读,更多相关《一个内存数据库模型的设计与实现.ppt(26页珍藏版)》请在三一文库上搜索。
1、2019年4月29日星期一,1,一个内存数据库模型的设计与实现,荣垂田,2019年4月29日星期一,2,主要内容,1. 课题背景,2. 内存数据库概述,3. 现有系统分析,4. 内存数据库服务器的设计与实现,5. 客户端软件开发包的设计,6. 系统配置与管理工具的设计与实现,7. 测试,2019年4月29日星期一,3,课题背景,随着电力系统的改革,电能量采集系统的地位越来越重要,系统由单纯服务于调度扩展到电力行业的计划、交易、营销等专业,数据量由单纯的电量扩展到需量、瞬时量、参变量等。 为适应电力系统的发展满足电力改革的需求,决定在原有的电能量采集系统产品的基础上,研发面向未来的新一代采集系统
2、。新系统要求系统的数据库具有高效的、稳定的实时特性。,2019年4月29日星期一,4,内存数据库概述,实现的可行性分析,随着半导体工艺的提高,内存的集成度越来越高,计算机硬件也可以支持超大内存的管理,这样将整个数据库或者数据库的一部分常驻内存成为可能 现代的应用需求需要高性能的数据库提供实时可靠的数据,像生产过程控制,CAD/CAM,指挥系统,航空航天,电力系统等。使内存数据库有了的用武之地。,2019年4月29日星期一,5,内存数据库概述,传统的磁盘数据库系统旨在处理永久、稳定的数据,强调维护数据的完整性、一致性,其性能目标是提高系统的吞吐量,尽可能多的处理事务。内存数据库则通过特殊的数据组
3、织和访问方式,提高内存和CPU 的利用率、数据的访问效率。 数据的访问方式不同 即使磁盘数据库有足够大的缓冲区,可以将所有的数据一次换入到缓冲区,也仍然不会获得内存的所有优点,因为其索引依然是按照访问磁盘来设计的。即使所有数据都在缓冲区,每次的数据访问依然要计算数据的物理地址,检查是否在缓冲区等,内存数据库(MMDB Main Memory Database)与 磁盘数据库(DRDB Disk Resident Database)的区别,2019年4月29日星期一,6,现有系统的分析,当前电量采集系统分析,2019年4月29日星期一,7,现有系统的分析,根据当前的形势分析,现有系统将面临以下的
4、挑战 实时数据的存储 以某电网公司现有的电量数据为例,每天的电量表底数据、时段电量数据、加工统计数据就有上百万条记录,若加上需量、瞬时量、参变量等数据,每天的数据量可达到近千万级 。 数据访问的实时性 随着实时交易、实时核算的需求,要求系统的数据采集、数据加工、系统监控等子系统都要具有较高的实时性,也就是说数据采集后要快速存入数据库以备各种统计、报表的数据加工之用;统计后的各种报表要通过快速的数据访问呈现给用户。 数据库系统负荷 新一代的电量系统不仅为调度专业服务,还要为电力系统的其它专业的系统提供数据,外系统对电量系统数据的访问必定增大电量系统数据库的负荷。,2019年4月29日星期一,8,
5、改进方案,2019年4月29日星期一,9,内存数据库服务器的设计与实现,内 存 数 据 库 系 统 结 构,由系统配置和客户端管理程序生成,是对内存数据库的定制,对内存数据库的运行起决定性的作用。,记录数据库的运行状况,如是否为初次启动,是否有未更新到磁盘的数据及其数量等,记录所有对数据库数据有影响的操作的相关信息,这个文件能够保证所有更新的持久化即更新到磁盘数据库,以及故障后的恢复,用来管理来自客户端的请求,此部分用来实现多线程并发服务器,对于客户端的每个请求只要在服务器允许的情况下都有一个线程与之对应,实现客户端请求的分析和处理,包括SQL语句的处理,内存数据访问,索引的更新等,应用程序需
6、要或更新过的数据,在数据库正常工作期间常驻内存,如索引、数据库信息、数据字典等,2019年4月29日星期一,10,物理数据组织与管理,内存数据的物理组织方式是内存数据库实现的基础,其存储结构、索引结构、中间数据存储结构都必须考虑内存直接存取这一特征。 本系统的数据采用段页式组织方式和行存储模型,段是逻辑段,其空间不一定连续,每个段存放一个关系,也即存放一个表的全部数据,每个段由不同的页组成,页是空间分配和回收的基本单位。,2019年4月29日星期一,11,2019年4月29日星期一,12,内存数据库的索引结构,在本次设计的数据库中使用由B Tree和AVL 树发展来的T Tree索引. T T
7、ree索引既具有B Tree存储效率高的优点也有AVL 树查找速度快的优点 操作通常会引起以下情况: 插入引起节点溢出 删除引起节点合并 树的平衡处理,2019年4月29日星期一,13,内 存 数 据 库 的 工 作 流 程,2019年4月29日星期一,14,并发服务器的创建,内存数据库服务器必须一直的工作,随时接收客户端的请求和数据,因而不能受外界信号的影响,所以把内存数据的主进程创建为守护进程。守护进程是脱离于终端并且在后台运行的进程,只要系统没有关机或者崩溃,守护进程将在系统中不间断地运行。 该服务器是多线程服务器,对于客户端的每一个连接请求服务器端都有一个线程为之提供服务。 线程的管理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一个 内存 数据库 模型 设计 实现
链接地址:https://www.31doc.com/p-2651420.html