【编者按】:精品学习网论文频道为您提供各类开题报告范文参考,以及开题报告写作指导和格式排版要求,解决您在开题报告写作中的难题。
一、 简况
名称 中文 基于内存数据库FastDB的MSSQL中间件设计与实现
英文 The design and implementation of a middleware based on Main Memory Database FastDB for MSSQL
中 英 文 摘 要 目前有大量基于磁盘数据库的信息管理系统,大都使用传统的磁盘数据库管理系统对数据进行管理。技术较成熟,但执行效率较低,特别是网络访问人数激增时,系统响应时间更是常让用户无法忍受。本系统在现有的DBMS上,嵌入高效的FastDB内存数据库,大幅提高系统的性能。项目针对针对基于SQL Server的中小型数据库应用系统,在服务器端进行开发。在内存数据库中进行查询,可以极大地减少系统的响应时间,尤其是在系统繁忙时,性能可提升几个数量级。
本项目是在目前广泛使用的.NET平台上,通过实现ADO.NET的一个Data Provider for OLE DB,使开发者可以通过统一的ADO.NET接口和类方便的使用高效内存数据库FastDB。并将为更高层用户提供一个便捷的安装程序,使用户在已搭建好的原始系统上插入本系统成为可能。
There are a large number of disk-based database of information management systems, most of which are using the traditional DBMS for data management. Technology is more mature, but less efficient implementation, especially the surge in the number of network access, the system response time is often too long for users to stand. This project embeds FastDB, a memory database which can efficiently and significantly improving system performance, into the existing database systems. Project is for Small and Medium for SQL Server database based applications, server side development. Querying the database in memory, you can greatly reduce system response time, especially when the system is busy. The performance can be improved by several orders of magnitude.
This project bases on the widely used .NET platform, implements an ADO.NET Data Provider for OLE DB. So that developers can access efficient memory database FastDB conveniently by unified ADO.NET interfaces and classe. The system will also provide users an installation, which make it possible to insert the new system into the existing original system.
主题词 中文 FastDB 内存数据库 MS-SQL
英文 FastDB/memory datebase/MS-SQL
二、选题依据
1. 目前,国内外有大量基于磁盘数据库的信息管理系统,例如学校的选课系统、考试查询系统等。这些系统大都使用传统的磁盘数据库管理系统对数据进行管理,如SQL Server,Oracle等。这些数据库管理系统都比较成熟稳定,但执行效率较低,特别是网络访问人数激增时,系统响应时间更是常让用户无法忍受。
众所周知,计算机对内存的读写时间,远远小于对磁盘的读写时间。内存数据库系统,是将数据保存在内存中,在内存中对数据进行管理的数据库系统。使用内存数据库进行查询等常用操作,将使系统性能得到明显提升。做为实时数据解决方案嵌入到传统数据库系统中,可以极大地减少系统的响应时间,使性能提升几个数量级。目前,内存数据库已成为电信、金融等实时性要求高、访问量大的领域的重要解决方案。
现阶段国内外有各种各样内存数据库产品,其中Oracle TimesTen, Altibase, eXtremeDB都是十分优秀的内存数据库产品,但其价格也常常让人望而却步。因此便产生了许多开源产品,而FastDB便是一个高效的开源内存数据库系统,具备实时能力及便利的C++接口。FastDB通过位图实现对内存进行分配,最小单位块是分配量子(16字节)。如此大大提高了数据引用的局部性(对象数据尽可能分配在连续的内存区域),最小化修改页的数目和减少了事务提交时间。
本系统主要是利用ADO.NET实现一个Date Provider for FastDB,从而向程序员提供一个基于ADO.NET的统一接口。由于FastDB使用的是C++语言,工程的难点就是如何使用C++实现这个数据提供器。
图1 ADO.NET及其数据供应器模型
2. 参考文献
[1] Konstantin Knizhnik. FastDB documentation [M/OL]. http://www.garret.ru/fastdb/FastDB.htm
[2] Visual Studio .NET支持中心.
三、课题内容及具体方案
1.课题内容
向MS SQL Server用户提供一个基于FastDB的中间件,实现SQL Server中的数据向FastDB的转移,并利用FastDB使原有的系统具有内存数据库快速、高效的特性,从而大幅提高系统的性能。
2. 系统需求分析
1)基本功能
从底层实现来看,系统应向ADO.NET平台提供一个数据提供器(Date Provider),使用ADO.NET的统一接口,实现对FastDB数据库的查询、插入、更新、删除操作。此外,系统还需提供一个中间件,实现数据从原来的面向MS SQL Server的操作向面向FastDB操作的转换。
从使用本系统的程序员来看,系统向开发者提供了一套与MS-SQL相同接口的操作,这些操作是面向内存数据库FastDB的。这就是程序员只需在连接时,将数据源参数选择为FastDB的参数即可,无需学习任何新的技术便可跟使用MS-SQL一样使用高效的内存数据库。
2)扩展功能
从用户角度来看,若用户希望在已搭建好的原始系统上插入本系统,本系统将向用户提供一个安装界面,用户只需在安装过程中选择原有的DBMS,即可完成安装与配置。安装完成后,用户将像未安装之前一样,以完全的方式对数据库进行各种操作,系统在用户层次上不会体现任何不同,便可向用户提供更高效的服务。
3. 系统概要设计
1). 总体框架
ADO.NET提供统一接口的API对数据库操作,而不同的数据库只需要提供相应的数据提供器即可,即图中的OLE DB Provider。
图2 系统总体设计方案框图
图中蓝色4为客户端软件或者浏览器,蓝色2为ADO.NET平台工具,黄色2为原系统中的MS-SQL数据库,这些部分为无需修改。
黄色1为FastDB,是本系统所使用的高性能内存数据库。
图中蓝色3 Initialization Module和蓝色1 OLE DB Provider为本系统需要开发的模块。Initialization Module为初始化中间件,完成MS-SQL数据库中的数据向FastDB数据库支持的数据格式转换和数据的转移功能。OLE DB Provider为基于FastDB的数据供应器,实现ADO.NET的统一接口,向应用程序提供一套可以方便的访问内存数据库FastDB的方法。