数据库技术面临挑战
关系数据库从产生到现在已有20多年的历史,但真正深层次的应用只是近几年的事。据gartner group对1998年所作调查分析,应用领域最为关心的是两个方面:一个方面是
电子商务,另一个方面是对各类业务的高层面的信息分析。大量有意义的信息分析是在“数据仓库”的总名称下进行的。因此,可以认为数据仓库是最大的用于作信息分析的数据库环境。
任何技术,人们对它从概念上理解和接受到能运用它解决实际问题,这其间的跨度之大,往往是想象所不能及的。数据库与数据仓库在今天也面临着同样的问题。
海量数据是信息分析环境的主要特征之一,其数据的量级大致在12 tb到16 tb之间。在这样的环境中,数据的增长会非常快,内存的数据量平均以每天8 gb的速度增加,硬盘数据量的增加还不算。很多大的应用系统中,内容最多的是存放非结构化数据的文件,这类数据经归整,将成为分析的重要数据源。据悉,苏格兰的一家保险公司,历经5年时间对这类数据进行归整,最后得到的是总量高达1000 tb的可用作业务分析的数据。所以,处理大数据量以及数据的快速增长,是数据仓库面临的实际问题之一。其次,很多系统在转移到
互联网架构之后,不但一般用户数会急剧增大,并发用户数也会随之增大。以德国的一家银行为例,它们的业务系统现有的用户有25万个,其中并发用户平均有10万个。据说,一旦这个系统转移到互联网上,其并发用户数会增大到原有并发用户数的10倍以上。
并发用户数的增大,要求系统的吞吐量相应地增大。据预计,高端的企业级应用在今后的5年内,其业务量每年平均会以2到3倍的速度增长。因此,要求系统的事务处理速度也要以相应的速度增长来适配。速度和规模方面的挑战固然是数据仓库所面临的问题,但并非是最为困难的问题。真正困难的,是要为不同领域的专业用户提供从各自视角观察和处理同一主题的手段与环境,即知识内容的表现与管理问题。但是,由于迄今为止的数据库系统在语义层上只有极有限的支持能力,要满意地解决这一问题还尚待时日。正如ibm院士donald haderle在一次研讨会上所言:“数据库需要在语义层上改进,把更多的与应用有关的主题以对象的方式放在数据库里面。——过去这么多年来没有一项突破性的技术解决这一问题,也许这要花很长一段时间……。”
向互联网计算过渡
数据库技术在近20多年的发展中,应用架构上有两次大的迁移最为引人注目。第一次是从主机终端方式向client/server 计算的迁移,这次迁移的积极效果之一,是打破了计算方式高度集中统一的局面,使计算环境向客户靠近了一大步。第二次则是从经典的client/server 计算方式向互联网架构下的集成计算方式的过渡与融合,这是一个目前正在进行的过程。我个人认为,这两次迁移所反映的技术以及技术经济的内涵很值得我们重视和加以研究。首先,每次迁移都没有也不可能简单地完全扬弃各自的出发点。例如,在client/server 计算方式开始显现其优越性时,虽“抛弃大型主机”的议论甚嚣尘上,但基于大型主机的集中式计算不但依然存在而且在继续发挥作用。现在,在互联网/web的影响越来越被认同的今天,我们也依稀听到了“client/server 计算行将消亡”的议论。事实上,无论是今天还是以后,绝不会有任何单一的技术能够解决应用中的一切问题,也绝不能强求客户采用任何单一的技术标准。client/server 计算的历史性贡献不仅有目共睹,而且在互联网/web技术日渐成熟和实用的今天,多级client/server 计算方式仍然占有重要地位。
据gartner group的一项调查显示,在世界经济500强的跨国大企业中,client/server 计算方式现在仍然占据主导地位。不仅如此,为数不少的企业信息主管表示,他们采用互联网等新技术的前提,是必须保证现有业务的安全并保护好在client/server 计算方式中已有的投资。
进入90年代以来,全球经济一体化的进程明显加快。从某种意义上说,互联网/web技术的成熟和实用化,是加快这一进程的催化剂。今天,一种称之为“互联经济”的新时代正展现在我们面前。新经济形态的基本特色就是“互联”。无论是个人、群体还是企业,都必须通过互联才能相互影响,才能谋求发展或寻找机遇。可以毫不夸大地说,任何个人或企业都不能超然于这一新的经济形态之外。从某种意义上讲,互联经济的前提和基础是信息的互联。企业的信息资源中所蕴涵的巨大潜力,只有在全面互联后才能得以释放,才有可能转化为经济快速发展的推动力。但另一方面,仅有信息源的简单联通还不够,还必须有令人满意的信息获取与提交方式。因此,一方面是包括互联网/web在内的it技术促成了互联经济的到来,而另一方面互联经济的出现又反过来要求it产业提供全新的技术支持。具体地讲,今天的互联经济要求it技术提供将企业的雇员、客户、合作伙伴以及潜在的业务往来者能以最优方式连接起来的手段,提供满意的信息获取与提交方式。能够成功实现这一切的方法和手段,除中间件以外还包括利用互联网/web以及将远程和流动性的工作与企业连接起来的大量手持式设备。
与此相关联,一种新的计算方式,即所谓的“渗透式计算”(pervasive computing)正方兴未艾。
渗透式计算及其影响
这方面的优先发展是在
通信业中,首先是在移动通信和普通电话上。推而广之,可以延伸到任何仪器仪表或嵌入式控制设备中(例如寻呼机、机顶盒、可视电话、掌上机、车载盒等),使得计算活动能以这些设备为硬载体。其实,渗透式计算也不妨通俗地称为“无处不在的计算”,由此而形成的是一个极其广阔的信息电器市场。这个新市场是计算活动进入日常生活的必然产物,它要求在信息的获取与提交方式方面解决很多极富挑战性的问题。渗透式计算要求:信息的消费者能够在正确的时刻与正确的地方完整而方便地得到自己真正所需要的信息,同时信息的提供者也能够及时、准确地以正确的形式将信息提交给它的消费者。
毫无疑问,渗透式计算是一个远比常规数据库广阔的领域,它不仅仅是一种新的计算方式,还是一种与电子商务密切相关的环境。渗透式计算进入互联网,使得互联网的触角可以延伸到任何产生信息和需要信息的地方。当然,这一计算方式在带来新机遇的同时也必然会冲击到很多现存的计算设施。受冲击最大者,当属曾风光一时的台式机了。据美国《新闻周刊》最近的一篇文章称,渗透式计算将使台式机有可能裂变,即分解为能够被日常生活中任何装置所使用的多个单元部件,而每个单元部件都是只执行单一的任务。it界的一些人将这种前景戏称为“pc机的巴尔干化”,并且预言以此为标志的“后pc时代”很快就会到来。事实上,新计算方式所引起的冲击波早已在业内造成了骚动:微软的一位副总经理前不久明确表示反对“后pc”这一说法(他认为最好的概括应当是“pc+”),并且表示微软不会无视这一现象。微软在这一领域早已是快马加鞭、不敢怠慢:它的信息电器支撑软件windows ce已经有了好几个版本,它不仅设计了
汽车计算机系统而且还推出了供移动电话使用的“微型浏览器”。长久以来,台式机事实上处在一种很重要的位置上,因而使微软对it产业形成某种控制性的影响。
渗透式计算的出现完全可能会形成新的局面,给it也给中国提供了空前的发展机遇。在it技术全面支持下的互联经济中,“企业能够通过先进的信息技术而获得对其所有供应链,包括市场、客户和种种潜在机遇的一种全新的认识。新经济形态的驱动力——互联网和移动式计算使供应链的链条能以各种方式数字化地连接起来。其结果,必然是在it技术的驱动下,劳动生产率以前所未有的幅度而增长,”sybase公司创始人之一robert epstein对it支持下的互联经济的前景作如是观。
国内应用现状与需求
总的说来,国内企业对数据库与数据仓库技术的依赖程度还不是很强。在一些有迫切要求和相当基础的行业,应用的水准也参差不齐,在及时性上与国际相比也慢了一两个节拍。截止到九十年代初,主机/终端型的集中式计算还是国内计算方式的主流,当然也是数据库技术应用的主流。最近十年,是计算方式从集中式向client/server方式转移并相对稳定在后一种方式下的十年。在此期间, 很多有影响的应用系统相继建成并在社会经济生活中发挥着重要作用,甚至成为某些企业能取得竞争优势的有力武器。这类系统的支撑结构,从大的方面看都非常相似:服务器端依托于关系数据库管理系统,客户端选择第四代开发工具。支撑结构虽然也存在种种可能的选择,但余地不大而且相对说来较为简单。最近的3~5年间,出现了一系列影响数据库技术走向的新技术,归纳起来有三项,即:互联网/web、java以及组件与分布式技术。这三项新技术不仅改变了信息的传播、利用和接收方式,而且对基于数据库的信息系统的建设产生了很大影响。互联网/web技术带给经典client/server计算方式的直接冲击,是产生基于浏览器而访问数据库的多层体系结构。
这种结构的维护、安装、升级和使用都比较简单,因而成为一种很有吸引力的应用开发模式。如果应用开发环境能容许这两种开发模式的共存,倒也不存在选择的问题,但实际情况并非完全如此。紧接着是java带来的影响,它的跨平台能力以及面向对象的设计范型,使应用开发方式有了新的选择。java使强化业务对象的愿望第一次有了实现的可能。最后,是组件技术与分布式对象进入应用开发模式,这类技术所带来的积极后果是能够实现大范围的软件重用。所有这些新技术在带来新的选择的同时也带来了新的复杂性,使应用开发人员面对很多技术与技术管理的难题。新技术、新思想和新工具的不断涌现,要求应用开发环境具有真正开放的架构,以便及时接纳它们。另一方面,应用的多样性以及客户强烈要求保护已有投资的愿望,又要求应用开发环境能继承所有行之有效的技术、方法和策略。所有真正实施以客户为中心的市场策略的制造商,都应理所当然地注意到这些基本要求。
在当前,影响it产业自身发展的各种因素中,最重要的莫过于互联网/web技术。但是,吸纳新技术必须考虑到应用的实际并切实保护客户已有的投资。因此,适应这一变化的应用开发模式及环境必须具备一些特定的技术属性。首先,要求开发模式和环境应具有真正意义下的开放性。其目的是将选择的自由交给用户,而不是必须迎合某些独有的技术。同时,开放性将保证能够及时吸纳新技术、新思想和新工具,将更大的选择空间提供给用户。其次,应当造就一个使client/server计算与internet计算共存与统一的环境。这不仅能够保护近十年来基于client/server计算而建立的大量行之有效的系统,而且能使用户兼收两种计算方式之利。有
专家称,我们正处在“后client/server计算时代”,因为有大量系统是按照这一模式建立起来的,它们在继续发挥作用的同时也将逐步走向与internet计算方式的共存和统一。从这个意义上说,“后client/server计算时代”的提法也许不无道理。第三,新的开发模式与开发环境应当立足于组件技术并强化对于业务逻辑的创建、利用、提交和管理。
传统的两级client/server计算,除去不易升级和维护之外,最大的问题是它的代码难以再利用。组件技术能够实现对业务逻辑的封装,使其能为其他组件所利用。需要使应用逻辑相对集中于三层结构的中间层,便于统一地管理、维护和提交,但同时应容许前端以各种方式利用这些逻辑。最后,还必须有一个完整的产品支持方案,即在给予用户多样选择的同时,能有一个简明统一、现实可用的环境。但到目前为止,能完全满足这些要求的环境还不多见。
始终以应用为中心
最近几年it产业界热门话题的变换速度几乎令人咋舌:“client/server计算”,“互联网/web”,olap,“数据挖掘”,“universal server/database”,nca,java,“数据仓库/数据集市”等等不一而足。不过,透过这一切不难看到由应用所驱动的一条技术发展的总线,其目的是追求越来越完善的计算环境,让信息技术更好地服务于我们的工作实际和生活实际。不同的技术热点折射着不同的需求层面,应用的多样性促成了技术热点的不断转移。因此,应用是一切技术进步的推动力和源泉,同时应用的检验也是对技术、工具、方法、策略等等是否正确和有效的最终检验。从这个意义上讲,我认为在推动我国
信息化建设的始终,要将应用作为头等大事来抓,抓住了应用也就是抓住了关键。