数据库技术的研究领域1、DBMS软件的研制DBMS本身及周边软件系统;支持新的数据类型,如非格式化数据:声音、图象;面向对象;多媒体2、数据库设计数据库设计的方法、工具、理论;数据模型、建模;CA数据库设计方法、设计规范和标准。3、数据库理论关系的规范代理论;关系数据理论;数据库逻辑演绎和知识推理、并行算法;演绎数据库、知识库、数据仓库数据库技术新进展第一代:网状、层次数据库:支持格式化数据模型(有序树、有向图)第二代:关系数据库系统:支持关系模型,(关系代数、关系理论),属于语法模型(无法表达数据对象的语义)第三代:面向对象模型为主要特征的数据库系统:更丰富的数据模型更强大的数据管理传统数据库系统的局限性1.面向机器的语法数据模型2.数据类型简单、固定3.结构与行为完全分离4.阻抗失配5.被动响应6.存储、管理的对象有限7.事务处理能力较差第三代数据库技术的特点1.对象标识(与码不同,为系统全局唯一)2.封装(消息传递来存取)3.类和类层次(有根的有向非环图)4.继承(单继承和多重继承)在面向对象的设计环境中加入数据库功能,如ORIEN,CLOS等使传统数据库系统支持面向对象的数据模型,如ORACLE8,INFORMIX9等分布式数据库1.数据的物理分布性2.数据的逻辑整体性3.数据的分布独立性(分布透明性)4.场地自治和协调5.数据的冗余和冗余透明性并行数据库1.共享内存结构(紧耦合全对称多处理器SMP系统)容易实现;负载均衡;伸缩性不佳;可用性不好。(CPU高效地扩充至32个)2.共享磁盘结构(松耦合群集机cluster系统)消除内存瓶颈;磁盘瓶颈仍在;能动缓存瓶颈;CPU最多在到数百个。3.无共享资源结构(大规模并行处理MMP和SMP群集机系统)负载均衡难;伸缩性极佳;高可用性;难实现。并行粒度1.不同用户事务间的并行性多进程或多线程处理用户请求2.同一事务内不同查询间的并行性判断查询的不相关性3.同一查询内不同操作间的并行性对多表的并行处理4.同一操作内的并行性对同一表的不同存储的并行处多媒体数据库1.实现对格式化和非格式化多媒体数据的存储、管理和查询能够表示多种媒体的数据2.能够协调处理各种媒体数据,正确识别各种媒体数据之间在空间或时间上的关联。3.比传统数据管理系统更强的适合非格式化数据查询的搜索功能特种事务处理与版本管理能力主动数据库1.根据数据库的当前状态,主动适时地做出反应,执行某些操作,向用户提供有关信息。2.通常采用的方法:在传统数据库中嵌入ECA(事件-条件-动作)规则主动数据库的数据模型和知识模型执行模型条件检测事务调度(难题:执行时间估计的代价模型)体系结构系统效率3.概念不成熟,技术待研究对象-关系数据库1.允许用户扩充基本数据类型2.能够在SQL中支持复杂对象3.能够支持子类对超类的各种特性的继承,支持数据继承和函数继承,支持多重继承,支持函数重载4.能够提供功能强大的通用规则系统,而且规则系统与其他的对象-关系能力是集成为一体的。(如规则中的事件和动作可以是任意的SQL语句)数据仓库1.操作型处理(OLTP联机事务处理)事务处理,数据库联机的日常操作。关心响应时间、数据的安全性和完整性2.分析型处理(OLAP联机分析处理)管理人员的决策分析3.OLTP应用与DSS应用处理明显冲突性能特性不同(存取频度高,操作处理时间短;连续运行,消耗大量系统资源)数据集成问题(细节数据;集成数据)数据动态集成问题(静态集成不能反映动态变化;动态集成周期刷新)历史数据问题(事务处理不利用;分析处理相当重要)数据综合问题(细节数据量大影响分析效率;细节数据不利于分析;综合和冗余控制)数据仓库的特征1.面向主题2.集成3.稳定4.随时间变化5.基于数据库技术的DSS解决方案6.DW+OLAP+DM工程数据库处理复杂结构和内涵的工程对象以及工程领域中大量的“非经典”应用1.支持复杂多样的工程数据的存储和集成管理2.支持复杂对象(如图形数据)的表示和处理3.支持变长结构数据实体的处理4.支持多种工程应用程序5.支持模式的动态修改和扩展6.支持设计过程中多个不同数据库版本的存储和管理7.支持工程长事务和嵌套事务的处理和恢复统计数据库用来对统计数据进行存储、统计(如求数据的平均值、最大值、最小值、总和等、分析的数据库系统1.微数据:描述是个体或事件的信息;2.宏数据:综合统计数据,可以来自应用领域,也可以来自微数据的综合分析。空间数据库1.描述空间位置和点、线、面、体特征的拓朴结构的位置数据及描述这些特征的性能的属性数据为对象的数据库2.位置数据为空间数据;属性数据为非空间数据数据库前沿技术介绍数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。传统数据库,以关系型数据库为主要代表,如MySQL、MicrosoftSQLServer、Oracle等。一、传统的关系型数据库技术(1)MySQLMySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。在新版MySQL5.6里做了如下修改:改进的InnoDB存储引擎,增加全文索引能力;提升子查询性能;同步复制功能增强,引入多线程复制特性;引NoSQL特性,可直接使用MemcachedAPI操作InnoDB数据。(2)MicrosoftSQLServerMicrosoftSQLServer是由美国微软公司所推出的关系数据库解决方案,最新的版本是SQLServer2012,SQLServer2012主要改进在于:通过AlwaysOn提供所需运行时间和数据保护;通过列存储索引获得突破性和可预测的性能;通过用于组的新用户定义角色和默认架构,帮助实现安全性和遵从性;通过列存储索引实现快速数据恢复,以便更深入地了解组织;通过SSIS改进、用于Excel的MasterDataServices外接程序和新DataQualityServices,确保更加可靠、一致的数据;通过使用SQLAzure和SQLServer数据工具的数据层应用程序组件(DAC)奇偶校验,优化服务器和云间的IT和开发人员工作效率等。(3)OracleOracleDatabase,又名OracleRDBMS,或简称Oracle,是甲骨文公司的一款关系数据库管理系统,到目前仍在数据库市场上占有主要份额。新版的OracleDatabase12c版本里有了如下的改进:PL/SQL性能增强,类似在匿名块中定义过程,现在可以通过WITH语句在SQL中定义一个函数,采用这种方式可以提高SQL调用的性能;放宽多种数据类型长度限制;TOPN的语句实现;临时UNDO:将临时段的UNDO独立出来,放到TEMP表空间中,优点包括:减少UNDO产生的数量;减少REDO产生的数量;在ACTIVEDATAGUARD上允许对临时表进行DML操作等。二、最新的非关系型数据库技术随着互联网Web2.0网站的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的社交网络类型的Web2.0纯动态网站已经显得力不从心,暴露出了很多问题。在新的应用背景下发展起来了新的数据库技术:NoSQL。NoSQL指的是非关系型的分布式数据库,不支持原子性、一致性、隔离性、持久性的数据库设计模式,它对并发的大规模访问有着效率上的优势,NoSQL的主要代表有:BigTable,MongoiDB,Cassandra等。(1)BigTableBigTable是一种压缩的、高性能的、高可扩展性的,基于Google文件系统的数据存储系统,用于存储大规模结构化数据,适用于云计算。BigTable不是传统的关系型数据库,不支持JOIN这样的SQL语法,BigTable更像今日的NoSQL的Table-oriented,优势在于扩展性和性能。它现今已成为Google的应用程序,像是MapReduce就常通过BigTable来存储或更改数据,其他还有Google地图、YouTube视频网站等都用到了BigTable。(2)MongoDBMongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为Web应用提供可扩展的高性能数据存储解决方案。它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系型数据库的。MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。国外TheNewYorkTimes、趋势科技公司等已经将MongoDB作为数据库应用之一。(3)CassandraCassandra是一个混合型的非关系的数据库,类似于Google的BigTable,其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB。Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。著名社交网站Facebook用Cassandra存储Inbox,而Twitter公司已经公开宣布正在向Cassandra迁移,思科公司也将Cassandra作为数据库应用之一。经过这几年的飞速发展,新的数据库技术已经逐渐落地成为数据库市场的强劲力量,Oracle等传统数据库厂商,也在MySQL5.6等新版本数据库中增强对NoSQL的支持,相信随着信息技术的不断发展,新的数据库技术会有更大的发展,传统的数据库必须有相应的改变和升级才能适应信息时代的发展。