《数据库技术发展现状与未来趋势课件.ppt》由会员分享,可在线阅读,更多相关《数据库技术发展现状与未来趋势课件.ppt(99页珍藏版)》请在三一办公上搜索。
1、1,数据库技术发展现状与未来趋势,2,1. 什么是数据库技术 什么是数据? 在计算机系统中,各种字母、数字符号的组合、语音、图形、图像等统称为数据,数据经过加工后就成为信息。 什么是数据库? 数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。,3,数据库技术是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。是通过研究数据库的结构、存储、设计、管理以及应用的基本理论和实现方法,并利用这些理论来实现对数据库中的数据进行处理、分析和理解的技术。 数据库技术是数据管理的技术,是计算机科学的重要分支。是信息系统的一个核心
2、技术。,4,2. 数据库技术的产生、发展 数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。-人工管理,5,6,1956 年,IBM(International Business Machines) 国际商业机器公司。 外号是 “Big Blue”(蓝色巨人)。生产出第一个磁盘驱动器 the Model 305 RAMAC。,7,此驱动器有50 个盘片,每个盘片直径是2 英尺,可以储存5MB的数据。使用磁盘最大的好处是
3、可以随机地存取数据,而穿孔卡片和磁带只能顺序存取数据。可以说,随机存取对于数据管理的发展是一次具有革命性意义的改变。,8,1961年,美国通用电气公司(General ElectricCo.) Charles W. Bachman等人在年开发成功的IDS(Integrated DataStore)是最早出现的是网状DBMS(数据库管理系统)。 IDS 具有数据模式和日志的特征。但它只能在GE主机上运行,并且数据库只有一个文件,数据库所有的表必须通过手工编码来生成。-文件系统,9,1973 Charles W. Bachman 因在数据库方面的杰出贡献而获ACM图灵奖 。他提出并实现的第一个网状
4、数据库系统 For his outstanding contributions to database technology.,Charles W. Bachman (Dec. 11, 1924 - ),10,1968 年IBM 公司在开发的IMS (Information Management System),是最著名最典型的层次数据库系统。这是IBM公司研制的最早的大型数据库系统程序产品。从60 年代末产生起,如今已经发展到IMS V6,提供群集、N路数据共享、消息队列共享等先进特性的支持。这个具有40 年历史的数据库产品在如今的WWW应用连接、商务智能应用中扮演着新的角色。-数据库系统,
5、11,1970年,IBM的研究员埃德加考特 EdgarF.F.Codd 博士在刊物Communication of the ACM上发表了一篇名为“A Relational Model of Data for Large Shared Data Banks”的论文,12,E.F.Codd提出了关系模型的概念,奠定了关系模型的理论基础。这篇论文被普遍认为是数据库系统历史上具有划时代意义的里程碑。 E.F.Codd 计算机界公认的关系数据库之父。1970年他提出了关系模型的理论,1970年以后,E.F.Codd继续完善和发展关系理论;之后创办了一个研究所The RelationalInstitut
6、e和一个公司Codd & Associations;1990 年出版了专著The Relational Model for Database Management:Version 2。,13,埃德加考特(EdgarF.Codd)计算机界公认的关系数据库之父。,E.F.Codd 以其对关系数据库的卓越贡献获得了1981 年ACM图灵奖。,14,Codd的心愿是为数据库建立一个优美的数据模型。后来Codd又陆续发表多篇文章,论述了范式理论和衡量关系系统的12条标准,用数学理论奠定了关系数据库的基础。关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。,15,1974 年,IBM
7、的Ray Boyce和Don Chamberlin将Codd关系数据库的12条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了SQL(Structured Query Language)语言。,16,SQL语言的功能包括查询、操纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。SQL集成实现了数据库生命周期中的全部操作。SQL提供了与关系数据库进行交互的方法,它可以与标准的编程语言一起工作。,17,1986年,ANSI American National Standards Institute(ANSI美国国家
8、标准学会)把SQL作为关系数据库语言的美国标准,此后不久,ISO(国际化标准组织)也做出同样的规定,把SQL标准公布,SQL成为国际标准。目前SQL标准有3个版本: SQL-89 SQL-92 SQL3,18,1970年关系模型建立之后,IBM公司在San Jose实验室增加了更多的研究人员研究这个项目,这个项目就是著名的System R。其目标是论证一个全功能关系DBMS的可行性。该项目结束于1979年,完成了第一个实现SQL的 DBMS。然而IBM对IMS的承诺阻止了System R的投产,一直到1980年System R才作为一个产品正式推向市场。,19,1976年霍尼韦尔公司(Hone
9、ywell)开发了第一个商用关系数据库系统Multics Relational Data Store。,20,他们开发的Ingres项目最后由Oracle公司、Ingres公司以及硅谷的其他厂商所商品化。后来,System R和Ingres系统双双获得ACM的1988年“软件系统奖”。 是SQL-Server/Sybase的奠基人。,1973年,加州大学伯克利分校的 Michael Stonebraker和Eugene Wong,利用System R已发布的信息开始开发自己的关系数据库系统Ingres。,21,詹姆士格雷 (James Gray) 在IBM期间,他参与和主持过IMS、Syste
10、m R、SQL/DS、DB2等项目的开发,其中除SystemR仅作为研究原型,没有 成为产品外,其他几个都成为IBM在数据库市场上有影响力的产 品。 Jim Gray使关系模型的技术实用化,他为RDBMS成熟并顺利进入市场起到了关键性的作用。,(1944Missing 01/28/2007),22,1998 James Gray由于在数据库、事务处理方面取得了突出的贡献,使他成为该技术领域公认的权威,他也成为图灵奖 第三位在数据库技术的发展中作出重大贡献而获此殊荣的学者。 他的研究成果反映在他发表的一系列论文和研究报告之中,最后结晶为一部厚厚的专著:TransactionProcessing:
11、ConceptsandTechniques。,(1944Missing 01/28/2007),23,二十世纪九十年代,随着基于PC的客户/服务器计算模式和企业软件包的广泛采用,数据管理的变革基本完成。数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。Internet的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。,24,1991,W.H. Bill Inmon发表了”构建数据仓库” 比尔印蒙 (Bill Inmon),被称为数据仓库之父,最早的数据仓库概念提出者。 数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理
12、决策。,25,随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。 九十年代以后,技术界一直在研究和寻求新型数据库系统。但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库系统(object oriented database)”或简称“OO数据库系统”。,26,然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。理论上的完美性并没有带来市场的热烈
13、反应。其不成功的主要原因在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。,27,另外,面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。 总之,目前,主流的数据库技术还是关系数据库技术的应用。,28,Oracle 数据库巨人Oracle公司(甲骨文公司)是全球最大的信息管理软件及服务供应商。,29,1976 年IBM E.F.Codd发表了一篇里程碑的论文“R系
14、统:数据库关系理论”,介绍了关系数据库理论和查询语言SQL。Oracle的创始人Ellison非常仔细地阅读了这篇文章,被其内容震惊。Ellison看完后,敏锐意识到在这个研究基础上可以开发商用软件系统。Ellison认为这是他们的机会:他们决定开发通用商用数据库系统Oracle。,30,埃里森出生于1944年8月17日是甲骨文公司(Oracle)的创始人和CEO。根据2011年最新福布斯杂志的统计,他的个人资产高达395亿美元,居世界第5位。短时间里他甚至曾经仅次于比尔盖茨为世界上第二富人。,31,1997年,Oracle推出了面向网络计算的数据库Oracle8 1999年,Oracle正式
15、提供世界上第一个Internet数据库Oracle8i。 2001年6月,Oracle又推出了新一代Internet电子商务基础架构Oracle9i。 2004年,Oracle发布oralce10g。 2007年7月12日,甲骨文公司在美国纽约宣布推出数据库Oracle 11g,这是Oracle数据库的最新版本。,32,2. 微软公司的SQL Server,1987 年,微软和IBM合作开发完成OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。,33,2. 微软公司的SQL Server,
16、为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQL Server 1.0 版。,34,SQL Server(Structured Query Language Server) 是一个关系数据库管理系统(DBMS)。它最初是由Microsoft、 Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。后来Aston-Tate公司退出了该产品的开发。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道
17、扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。,35,我们常说的是Microsoft SQL Server 简称为SQL Server或MS SQL Server。 SQL Server6.0版是第一个完全由Microsoft公司开发的版本。1996年,Microsoft公司推出了SQL Server 6.5版本,接着在1998年又推出了具有巨大变化的7.0版,这一版本在数据存储和数据库引擎方面发生了根本性的变化。,
18、36,SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。 Microsoft SQL Server 2005 Microsoft SQL Server 2008 Microsoft SQL Server 2010 Microsoft SQL Server
19、 Denali,37,38,3. IBM 公司的DB2IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。 DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。,39,它以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤
20、为适用。,40,4. Sybase Sybase公司成立于1984年11月,总部设在美国加州的Emeryville。公司名称“Sybase”取自 “system”和“database” 相结合的含义。公司的第一个关系数据库产品是1987年5月推出的Sybase SQLServer1.0。,41,Sybase 公司是全球领先的企业集成解决方案供应商,不仅拥有业界最完整的企业数据管理系统、领先的企业门户产品以及移动与无线解决方案,还致力于整合各种应用平台、数据库和应用软件。 2010年5月13日,SAP公司宣布以58亿美元收购软件制造商Sybase 。2010年12月26日完成收购。,42,5.
21、InformixInformix在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据库产品。公司的名称Informix便是取自Information 和Unix的结合。Informix第一个真正支持SQL语言的关系数据库产品是Informix SE(StandardEngine)。InformixSE是在当时的微机Unix环境下主要的数据库产品。它也是第一个被移植到Linux上的商业数据库产品。现在,IBM已接管Informix。,43,6. MySQL MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而200
22、9年,SUN又被Oracle收购。对于Mysql的前途,没有任何人抱乐观的态度。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。,44,MySQL软件是一种开放源码软件“开放源码”意味着任何人都能使用和改变软件。任何人都能从Internet下载MySQL软件,而无需支付任何费用。如果愿意,你可以研究源码并进行恰当的更改,以满足你自己的需求。MySQL软件采用了GPL(GNU通用公共许可证),定义了在不同情况下可以用软件作的事和不可作的事。数据库服务
23、器具有快速、可靠和易于使用。MySQL服务器还有一套实用的特性集合,在基准测试主页上,给出了MySQL服务器和其他数据库管理器的比较结果。,45,与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。,46,7. 微软公司的ACCESS Access 是微软公司推出的基于Windows的桌面关系数据库管理
24、系统(RDBMS,即Relational Database Management System),是Office系列应用软件之一。,它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;,47,为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 Access能够存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文软件公司),或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应
25、用软件,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。虽然它支持部分面向对象(OO)技术,但是未能成为一种完整的面向对象开发工具。,48,数据库等级考试Access在2000年的时候成为了计算机等级考试中的计算机二级的一种数据库语言并且因为它的易学易用的特点正逐步取代传统的VFP成为二级中最受欢迎的数据库语言。,49,8. 微软公司的Visual FoxProVisual FoxPro原名FoxBase,最初是由美国Fox Software公司于1988年推出的数据库产品,在DOS上运行,与xBase系列兼容。FoxPro是FoxBase的加强版,最高版本曾出过2.6
26、。,50,1992年,Fox Software公司被Microsoft收购,加以发展,使其可以在Windows上运行,并且更名为 Visual FoxPro。 FoxPro比FoxBASE在功能和性能上又有了很大的改进,主要是引入了窗口、按纽、列表框和文本框等控件,进一步提高了系统的开发能力。,51,现在被称为 PostgreSQL 的对象-关系型数据库管理系统是从伯克利写的 POSTGRES 软件包发展而来的。经过十几年的发展, PostgreSQL 是世界上可以获得的最先进的开放源码的数据库系统, 它提供了多版本并行控制,支持几乎所有 SQL 构件, 并且可以获得非常广阔范围的(开发)语言
27、绑定 。,9. PostgreSQL,52,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发PostgreSQL, 不管是私用,商用,还是学术研究使用。 PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。,53,1. ORACLE依然强势 进入2011年,据Gartner近期发布的调查报告显示,在RDBMS市场,Oracle的市场份额已经占到48.1%,仍然位居第一位,其市场份额超过了之后的五个竞争对手的总和。近些年来,ORACLE在资本层面频频发起重量级的并购,先后收购了PeopleSoft、BEA、SUN等知名软件企
28、业,极大增强了自家整体实力。,54,2005年1月,PeopleSoft 被Oracle收购。,BEA,是全球领先的应用基础结构软件公司, 2008年1月16日,全球最大的数据库软件公司甲骨文(Oracle)宣布已经同BEA达成协议,以85亿美元收购BEA。,美国SUN(Stanford University Network)公司,在中国大陆的正式中文名为“太阳计算机系统(中国)有限公司”,Sun是世界上最大的UNIX系统供应商。甲骨文公司于洛杉矶时间2010年1月27日宣布,已经完成对Sun的收购。,55,产品线上也是四面出击,现如今的ORACLE早已由一个单纯的数据库软件厂商,蜕变成产品集
29、合涵盖了包括数据库、中间件、操作系统、企业化管理、商业智能、虚拟机、开发工具等,从软件到硬件,可对外提供完整企业解决方案的巨无霸厂商,完成从卖产品到卖服务的重大角色转变。 ORACLE的产品线漫长且数量众多,进入2011年,以下产品未来的发展,也有可能会对整个市场产生重大影响。,56,1) Exadata2008年的OOW (ORACLE OPEN WORLD)大会上,ORACLE与HP合作推出了具备划时代意义的数据库一体机Exadata,专攻OLAP市场,该款产品的硬件由HP提供,ORACLE则提供软件支持。完成对SUN的收购后,ORACLE变相拥有了自己的硬件产品 - 来自SUN的硬件系统
30、。,57,经过资源的整合,ORACLE迅速推出了Exadata V2,硬件方面改用SUN的X86架构产品现在是自家的产品了,数据库系统则升级到最新版本的11gR2,相比上一代产品,Exadata V2变化巨大。,58,从2008年推出至今,Oracle Exadata数据库云服务器已经经历了多个版本,从最初解决数据库I/O负载,到现在可以帮助企业构建私有云环境,Exadata的发展也见证了甲骨文对云计算概念的理解。 众所周知,“云”的实现需要先进的硬件和软件集成协作,就目前而言,这意味着要整合来自不同厂商的软硬件,形成一种独立供应商之间的共生关系,并以此平台作为粘合剂将各个组件结合在一起来构建
31、一个云实体。甲骨文为解决这一难题,推出了软硬件集成的新产品Exadata。,59,Oracle最具代表性云服务产品:Oracle Exadata,60,根据ORACLE此前发布的消息称,全球已经部署超过1000台的Exadata,用户遍及67个国家的23个行业,如果按照Exadata高昂的报价来计算,Exadata已经有了不小的收获。而且自Exadata V1发布至今,经过三年的市场培育以及这么长时间的实际检验,是否可以说,Exadata确实经受住了考验。,61,2) GoldenGate ORACLE于2009年7月收购了专业数据集成公司GoldenGate。 Golden Gate软件是一
32、种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。,62,事实上,在被ORACLE公司收购之前,GoldenGate就已在全球拥有数百家客户,其中不乏顶尖的金融及电信企业。由于具有跨平台、异构数据库的特点,GoldenGate的应用场景要广泛的多,包括数据库同步/高可用和容灾/应急备份/数据抽取/双业务中心/实时报表查询等场景均能适用。,63,GoldenGate目前最新版本v11.1,能够运行在包括Windows2000/2003/2008/XP、Linux、Sun Solaris、HP
33、-UX/HP TRU64、IBM AIX、IBM z/OS等几乎所有的主流操作系统下。 GoldenGate对于主流的DB2、Sybase、MS SQL Server、MySQL等数据库产品均有对应版本,内存数据库TimesTen及数据仓库Teradata也能被支持,尤其对于自家的ORACLE数据库,从8i到11gR2各个版本均能支持。,64,3) MySQL2008年先是MySQL被SUN收购,到了2009年ORACLE又收购了SUN,这真是一波未平一波又起。在Oracle宣布对SUN的收购之后,很多业内人士对于MySQL的前景比较悲观。直到2010年的JavaOne大会,Oracle的首席
34、架构师Edward Screven在大会上公开表态称:Oracle不会放弃MySQL,相反,还会更加努力的让MySQL变的更好。,Edward Screven,65,不过,事实情况是,相当长一段时间里MySQL数据库几乎都处于停滞发展的情况。很多用户担心MySQL可能沦为商业性盈利的产品。 直到2011年初,MySQL重大升级,对外发布了MySQL5.5正式版,虽说从主要增加的功能上来看并无重量级特性,至于其着力宣扬的两处重大改动:修改InnoDB做为默认存储引擎和提供Replication的半同步机制,前者在实际应用场景中早已成为事实上的标准设置,而后者,象征意义更加明显。,66,在MySQ
35、L5.5正式版推出后不久,MySQL5.6 RC社区版也在官网发布,并且明确了开发目标和方向,这些消息不管是对最终用户还是DBA都属利好消息。同时,ORACLE也在加紧MySQL企业版和Oracle其他系列产品的整合。据悉在2011年,MySQL的企业版本将会于Oracle的 EnterpriseManager及审计工具、安全备份等产品进行整合,其中有些已经在Oracle的计划蓝图中了。,67,2. IBM继续“破甲” 在企业级RDBMS领域,IBM的DB2被公认为是ORACLE数据库的最大对手,两大厂商之间也是恩怨纠葛。ORACLE公司的CEO Larry Ellison多次将Oracle的
36、产品与IBM相对比,公开叫板IBM,甚至用悬赏千万美元奖金的方式,用自家产品挑战IBM DB2的数据库性能。,68,面对挑战,IBM这个一向内敛的企业也酝酿着反击,并于2010年初展开了针对意味十足的“破甲行动”。整个“破甲行动”的核心,其实是以TCO(Total Cost of Ownership,总体拥有成本)做为攻击的重心。由于ORACLE采取的价格策略中维护费用很高,对于客户的咨询回复速度不够及时,IBM则针对性地鼓励并帮助用户移植到DB2数据库平台,提升用户TCO的整体方案。,69,加强与SAP等其它厂商的合作,进一步提升DB2数据库中在SAP应用软件的性能。数据库软件方面,IBM也
37、在加紧提升软件功能,DB2推出的pureScale技术,在不付出较大性能做为代价的前提下,具备横向扩展的能力,帮助企业实现“向外扩展”的数据库集群,并具有高可用性、应用程序透明等多项特征,被认为是用来挑战ORACLE公司的RAC技术。,70,另一方面,则是着重提高兼容性,按照IBM的说法,目前向DB2移植的成本和风险已经大大降低,DB2 从V9.7版本开始增加对Oracle数据库语法的支持,据称能够实现97%的应用程序与Oracle兼容,对于剩下的3%的兼容性问题,将通过IBM CDL新成立的由40位资深工程师组成的移植中心,帮助用户实现平滑移植。,71,3. Microsoft在发力 尽管是
38、与ORACLE、IBM这样的老牌关系型数据库软件厂商同台竞技,但Microsoft公司的SQL Server表现不弱,并有逐年增强之势。根据RZ Research最新研究报告表明,在全球数据库领域,Microsoft的SQL Server占有率遥遥领先居于首位,这主要是得益于SQL Server优秀的操控体验,易用的管理功能。,72,不过如果细分市场的话,SQL Server一直是在中小企业市场占据较大比重,这也与SQL Server一直深植Windows平台有重大关系,这部分市场竞争激烈,并且持续受到像MySQL这类开源数据库的挤压。,73,先抢占市场,再丰富功能,Microsoft公司的市
39、场路线,一度被人形容为“农村包围城市”。这些年来,MS SQL SERVER一直在发力追赶,从云计算到虚拟化技术,再到自助商业智能工具等。2010年4月,Microsoft公司推出了SQL Server 2008 R2,着重在商业智能、可扩展性和平台集成性方面做了进一步增强,在客户端支持方面SQL Server更是有天然优势,包括ADO、OLE DB、DAO、ODBC和新加入的ADO.NET、Native Client支持等 。,74,在前台开发工具中,则与Visual Studio天衣无缝的结合,甚至C#可以在SQL Server中进行开发,国际化、本地化支持方面也非常完备,所提供的丰富功能
40、赢得了开发者的高度认同,以至于被人称为开发者版本。 2010年11月份,Microsoft在SQL Server专家大会上发布了代号Denali的下一个版本,在延续了该软件的一贯风格的同时,继续针对各种IT人员开发出各式各样的全新特性。,75,根据已经公布的消息,在SQL Server 2011中新增功能包括:列式存储,提供了更高的压缩比,并大幅降低查询检索时扫描的页面数量;引入AlwaysOn技术,可视作是数据库镜像与集群的结合体;增强数据可视化功能,SQL Server提供了一个新的基于Web的报表设置器,极大简化了传统的BI模型创建方式。,76,4. Sybase(SAP)持续边缘 做为
41、全球第四大数据库厂商,Sybase在规模上其实已经远逊于前三名,Sybase旗下的关系型数据库管理系统主打品牌ASE。Sybase ASE(Adaptive Server Enterprise)目前已经发展到了15.5版了,新版本自然也带来了数项新特性,包括推出了对内存数据库的支持;最新版本的ASE 15.5也完全能够支持Adaptive Server备份服务器并集成TSM(IBM Tivoli Storage Manager),相信会使得备份对象的管理更加便利。,77,在数据仓库解决方案方面,Sybase拥有企业级数据仓库分析软件Sybase IQ,就2011年在7月7号,Sybase宣布其
42、基于新一代全共享的大规模并行处理(MPP)技术的Sybase IQ 15.3全面上市,新版本提供常用和新型编程语言版本的API,以及为软件开发人员简化整合过程的Web Services接口,进一步强化Sybase IQ将业务分析集成到应用程序和业务流程的能力。,78,不过,由于Sybase在全球数据库领域市场份额已经极为弱化尤其相较ORACLE数据库而言,而SAP的很多客户却均使用ORACLE数据库作为数据支撑,SAP公司面对这种窘境,在平台整合期恐怕异常痛苦,其次,完成对Sybase的收购后,SAP已经涉入IBM等合作的核心业务领域,未来面临直接竞争恐怕避无可避,这在相当程度上也会对SAP公
43、司与其它厂商的合作关系及未来业务埋下隐患。,79,5. NoSQL愈发兴旺 曾几何时,应用开发就是写个客户端或者网页,后端程序向数据库中的表对象执行增删改查,这一模式延续了数十年,直到现在仍然有相当多的应用基于这种模式。不过,随着数据量的爆炸式膨胀,特别是互联网应用,对高并发的数据存取性能要求越来越高,对海量数据和访问和数据存储的横向扩展需求欲发迫切,传统模式在应对新形式下新需求时,频繁地暴露出很多不足。,80,NoSQL(NoSQL = Not Only SQL ),意即反SQL运动,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关
44、系型的数据存储,相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。,81,为什么要使用NOSQL非关系数据库?随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题: 1、High performance -对数据库高并发读写的需求 2、Huge Storage-对海量数据的高效率存储和访问的需求 3、High Scalability & High Availability-对数据库的高可扩展性和高可用性的
45、需求,82,如海量数据存储高效存储和访问,随着像Facebook,twitter,Friendfeed这类的SNS网站的诞生与发展,数据的增长是爆发式的,以Friendfeed为例,一个月就达到了2.5亿条用户动态,对于关系数据库来说,在一张2.5亿条记录的表里面进行SQL查询,效率是极其低下乃至不可忍受的。为了解决这个问题Friendfeed采用了schema-less的方式来解决问题,由此可见对于海量数据的高效存数和访问,如果继续以传统的关系型数据库的方式来管理数据是行不通的。,83,对于高可扩展性和高可用性这两个方面在基于web的架构当中,数据库是最难进行横向扩展的,当一个应用系统的用户
46、量和访问量与日俱增的时候,数据库却没有办法像web server那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移,而对于NoSQL类型的数据库这种扩展和迁移的成本却低很多。,84,在上面提到的“三高”需求面前,关系数据库遇到了难以克服的障碍,而对于web2.0网站来说,关系数据库的很多主要特性却往往无用武之地,因此,关系数据库在这些越来越多的应用场景下显得不那么合适了,为了解决这类问题的非关系数据库应运而生。,85,但是,就目前来看,没有什么技术比“NoSQL”更加混
47、乱,想要在这个领域紧跟潮流非常困难,新的项目和技术层出不穷,即使是NoSQL阵营内部,也在彼此交锋不断,不过这一点也从侧面说明了NoSQL产品的热度和活力。,86,NoSQL运动虽然如火如荼,但对于很多最终用户来说,NoSQL方案的应用仍不是做为主要存储方式,很多场景下还是将其做为一种优化的技术手段在应用。这种方式倒并非不可取,不过,其所依托的基础数据来源,仍然是传统RDBMS产品。,87,NoSQL数据库的四大家族 键值(Key-Value)存储数据库相关数据库Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB典型应用内容缓存,适合混合工作负载并
48、扩展大的数据集数据模型一系列键值对优势快速查询劣势存储的数据缺少结构化。 列存储数据库相关数据库Cassandra, HBase, Riak典型应用分布式的文件系统数据模型以列簇式存储,将同一列数据存在一起优势查找速度快,可扩展性强,更容易进行分布式扩展劣势功能相对局限。,88,文档型数据库相关数据库CouchDB、MongoDB典型应用Web应用数据模型一系列键值对优势数据结构要求不严格劣势查询性能不高,而且缺乏统一的查询语法。 图形(Graph)数据库相关数据库Neo4J、InfoGrid、Infinite Graph典型应用社交网络,推荐系统等。专注于构建关系图谱数据模型图结构强项利用图
49、结构相关算法。,89,NOSQL的优势 易扩展 NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。 大数据量,高性能 NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。,90,灵活的数据模型 NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。 高可用,91,总之,数据库在变迁,有人说数据库的变迁就像是一个轮回。 在数据库技术诞生之前,数据主要是以File形式存储的,数据的管理也是由具体的应用自身来完成的,
50、所以这个时期的数据管理和应用逻辑是混在一起的。 直到1970年代前后第一代数据库技术的诞生,才实现了数据管理与应用逻辑的分离,采用网状、层次结构来描述数据,称之为层次型、网状型数据库。,92,至于我们常说RDBMS,其实是第二代数据库技术,上世纪70年代,来自IBM的E.F Codd博士提出的关系型理论以及SQL语言的发明。实现了数据建模和数据操作处理的标准化,关系型数据库在其后的20多年的时间取得了长足的发展,得到了广泛的应用,关系型数据库似乎已经成为了一种宗教式的信仰,数据相关的所有理论问题似乎都已经解决。,93,历史的发展总是在我们不经意间产生转折,所有重大技术的产生及发展都有其生存的土