UML软件工程组织

 

 

2007数据库技术谁主沉浮(下):特定领域数据库市场与技术分析
 
作者: bigbear  出处:it168
 

我们都能体会到,嵌入式应用,移动以及分布式计算技术已经或者正在改变我们的生活。

传统关系型数据库的市场格局和技术大致已经定型并稳定发展,它们旨在处理永久、稳定的数据,强调维护数据的完整性、一致性,其性能目标是高的系统吞吐量和低的代价,而根本不考虑有关数据获取及其处理的时间限制。

我们不妨来看一个应用场景:某火电厂需要监控运行中的发电机组,在每台发电机组的各个部位放置测点,一般而言,一台发电机组大约需要1.2万或者2万个测点,每个测点每500毫秒获取一次数据传输给监控中心处理。大家可以想像一下,这样大的数据量和实时要求,传统的关系数据库是无法达到的。还有一些特殊的领域,如,炼钢生产现场监测,正在飞行的飞机上的“黑匣子”等,还有比如交通控制、雷达跟踪、空中交通管制;武器制导、实时仿真、作战指挥自动化或C3I系统,等等。在这些领域,实时数据库产品占据着牢不可破的地位。

所以这些特定领域应用的数据库技术也不得不让我们关注,在这些应用领域,传统的关系型数据库完全无法胜任,所以必定会衍生出一个细分的数据库市场。值得注意的是,关系型数据库目前在全球的增长正在趋缓,而诸如这些特定领域应用的数据库正急速增长。

2.1实时数据库市场技术分析

传统的老牌关系数据库厂商,在实时数据库技术方面其实并无绝对的优势。因为RTDB并非是数据库和实时系统两者的简单结合,它需要对一系列的概念、理论、技术、方法和机制进行研究开发,如数据模型及其语言,数据库的结构与组织;事务的模型与特性,尤其是截止时间及其软硬性;事务的优先级分派、调度和并发控制协议与算法;数据和事务特性的语义及其与一致性、正确性的关系,查询/事务处理算法与优化;I/O调度、恢复、通信的协议与算法,等等,这些问题之间彼此高度相关。

实时系统和实时数据库又有很大的区别。传统的实时系统(RTS)虽然支持任务的定时限制,但它针对的是结构与关系很简单、稳定不变和可预报的数据,不涉及维护大量共享数据及它们的完整性和一致性,尤其是时间一致性。因此,只有将两者的概念、技术、方法与机制"无缝集成"(SeamlessIntegration)的实时数据库(RTDB)才能同时支持定时和一致性。

近年来,RTDB已发展为现代数据库研究的主要方向之一,受到了数据库界和实时系统界的极大关注。

在RTDB市场领域,国内外厂商众多,并未出现一家独大的局面。一些国内软件厂商在这些领域找到了一些机会,如中国科学院的产品Agilor,浙大中控的实时数据库ESP-iSYS,紫金桥公司的产品等,都有了相当程度的应用。国外一些厂商的产品PI,EDNA,IH等,在电力行业的应用中,占据了绝对的优势。

目前实时数据库,一般在通讯层面的编程接口都比较完备,支持各种底层的通讯协议,在应用层面的编程接口却支持有限,大部分只支持C和C++的编程接口,不支持现代的Java和.Net编程接口,给开发更丰富的展示效果的应用带来了困难。但是,随着web应用的日益深入人心,目前,国内外的大部分产品都提供了基于Web的引擎和开发接口。

2.2 嵌入式及移动数据库

 如果我们按照技术来分,数据库大约可以分为:前关系型数据库(第一代数据库,即网状,层次数据库),关系型数据库(第二代数据库),后关系型数据库或面向对象的数据库(第三代数据库)。

我们知道,对象数据库的研究和发展已经有差不多有10多年的历史了,目前在市场上已经有大量的面向对象数据库产品:Versant,Objectivity,ObjectStore,GemStone等。这些产品为面向对象的开发环境提供了相应的数据存储,使得数据的存储和处理符合了人们的开发经验。于是最初充满了热情的人们期望这些产品被期望能够打造一个新的数据库市场,甚至可能成为市场的领袖和主流。

然而事与愿违,理论上的完美性并没有带来市场的热烈反应。其不成功的主要原因在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。另外, 面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得数据库的开发商和应用客户都将其复杂的应用技术视为畏途。

嵌入式及移动数据库,4大厂商都有提供相应的产品。根据2005年的IDC的一份报告显示,嵌入式DBMS市场排名顺序大概是:PROGRESS SOFTWARE;INERSYSTEMS(CACHE),ORACLE, IBM,MICROSOFT;

根据IDC当时的报告,从2003年开始,后关系型数据库增长率最高,达到11%,市场容量达11.28亿美元。同时,InterSystems公司以38%的增长率超过所有其它嵌入式数据库提供商,其1.41亿美元的年收入已超越Oracle,成为全球第二大嵌入式数据库提供商。IDC研究部分析师Carl Olofson认为,嵌入式数据库的市场2005年估计刚刚超过20亿美元,到2009年,预计会增长到超过32亿美元。

在过去的一年里面,老牌的数据库厂商Oracle在嵌入式数据库方面,也有很大的动作。而此前,Oracle嵌入式数据库产品线已经包括了用于移动产品的Oracle Lite和用于高性能内存数据库应用的Oracle TimesTen。

2006年年初,甲骨文收购了开源软件公司Sleepycat,并将其Berkeley DB数据库添加到了Oracle嵌入式数据库产品线中。而在最近一个月,Oracle又发布了其嵌入式数据库的战略,足见主流厂商对这一领域的重视。

前面提到了,InterSystems的产品CACHE从2004年开始,就有很大的增长。作为混合型书库的早期代表,CACHE获得成功不是偶然的,而是因为传统关系型数据库正面临越来越多的限制和问题。

关系数据库最大的问题是:二维的固定关系结构的数据和复杂的、用对象的思想和观点来理解的对象(具有多维数据)之间的矛盾。所以CACHE既不说自己是关系的,也不说自己是对象的,而是一种真正的混合型产品,这种产品能提供关系接口和对象接口双重优势。底层是多维的数据结构,但同时支持SQL,面向对象的访问。所以会在市场上大获全胜。

关于性能问题,我们可以分析一下网友对CACHE的一些测试结果:

 将1,000,000条模拟数据(每条数据包括13个字段)插入到cache'中去,速度达到62,000条/秒,测试结果如上图。
 测试环境:(Dell D600 1.7Ghz Pentium M CPU, 2GB RAM, Windows XP, Java 2 SDK 1.4.2_03, Cache 5.0.18.6103);有兴趣的读者,可以和第一部分中的DB2 9数据库的测试结果做一个简单对比,还可以到cache的官方网站上去下载其最新的测试结果。

如果模拟1,000,300条NYSETAQ的交易数据(每条13个字段,所有的数据总量在100M以上)插入到Caché中,计算所用的时间和插入的速度。

 这是其中的一个运行结果:


 上面这组数据来自于cache光方公布的测试结果。

遗憾的是,迟缓的IBM直到2006年才推出了与CACHE能够真正竞争的产品Viper。

特别值得一提的是,2006年年末发布的CACHé 2007,加入了最新的快速开发功能,其中有一个名为Jalape?o的新组件,可以省去Java程序员在开发过程中会遇到的繁琐的对象关系映射(object-relational mapping)环节。

所以,在未来的一年内,CACHé将和IBM数据库在市场上面临一场恶战。
下面再来说一下嵌入式移动数据库。

总体来说,嵌入式是一种资源受限的应用,而再加上移动,更增加了很多复杂的通讯因素。嵌入式移动数据库涉及到很多关键技术,如备份恢复(不同于传统数据库),复制与同步(通过上载、下载或混合方式,加上复杂的同步控制,来实现服务器和前端设备的数据同步),事务和安全性(因为设备具有较高的移动性、便携性加上非固定的工作环境,存在诸多不安全的因素)等。

在这一领域,Syabse公司占据了绝对的优势,占据了70%以上的市场份额,不过移动应用的大部分成熟用户都在国外,因为移动数据库应用必须仰仗先进的移动基础设施。应该承认,在传统的关系型数据库领域Syabse已经落后于下风,但在移动技术上投入很大,通过一系列的收购和整合,在十多年间取得了宝贵的技术经验和市场经验。

资料:
 Sybase公司在1993—1994年之间,收购了数据库应用开发工具生产厂商PowerSoft公司——以PowerBuilder系列产品著称,Sybase移动数据库的前身就是PowerBuilder中的一个小数据库。在1995---1996年,Sybase在PowerSoft产品数据库的基础上加以革新和发展,开发成为专业的移动数据库。

另外,Sybase后来又以7130万美金收购了成立于1984年,以提供移动企业软件(MobileEnterpriseSoftware)、移动设备解决方案(MobileDeviceSolutions)和数据库软件著称的ExtendedSystems;在美国收购了著名的现场移动设备软件管理供应商XcelleNet,iAnywhereSolution在XcelleNet的基础上成功发布了RFIDAnywhere应用软件;而对全球最大的移动和无线应用供应商AvantGo,也完成了顺利收购。

Sybase在2000年专门成立了iAnywhereSolution子公司,专门研究移动技术。如果我们分析Sybase为何在移动数据库上获得成功,部分原因可能是因为Sybase的移动数据库技术的研究几乎是从“零”开始研发、设计的,而另外一些其他的数据库厂商可能把一个很大的数据库“缩水”之后,变成移动数据库,没有对移动数据库做很好的技术和市场方面的规划。Sybase的iAnywhere所包含的MobiLink 服务器同步技术就可圈可点,值得关注。

资料:
 SQL Anywhere包含一个名为MobiLink 同步技术。MobiLink是一个基于服务器的同步化引擎,它可以通过串行口、 TCP/IP、 HTTP 、 HotSync 、 ScoutSync或 ActiveSync连接与远程客户通信。使用象 MobiLink 这样的通用同步技术可以极大地削减开发费用,因为MobiLink能够处理高级的同步操作,比如瞬象(snapshot)和时间戳同步、主键维持、冲突的检测和解决等。在服务器端,所有的MobiLink同步逻辑都是通过使用后台数据库的SQL的事件处理的( MobiLink通过 ODBC 连接数据库,所以事实上支持所有的SQL数据库),通过使用 Certicom的 SSL/TLS Plus 来支持公钥加密功能(使用椭圆曲线加密系统技术)。

其它厂商的移动数据库产品,今年在市场上反映略显平淡,这些和厂商的市场战略相关,并不是说在技术上落后。如Oracle 的Oracle 8i Lite,IBM的DB2 Everywhere,微软的SQL Server CE等,这些能用于多种平台的移动数据库系统,同样功能强大。传统的数据库应用改变了我们的工作,而嵌入式和移动数据库将改变我们的生活。我们希望厂商共同努力,早日实现人类“信息随处可用”的梦想!

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号