本文是以采访的Paul Grabscheid的资料作为题材,主要以问答的方式向大家解密数据库未来的发展方向。
Paul Grabscheid是InterSystems公司战略规划部门副总裁,他一直在思考数据库的未来方向。本文由DDJ记者对话Paul Grabscheid先生(简称PG),看他是怎么回答的。
记者:InterSystems同时提供了面向普通目的和医疗保健业的数据库产品,医疗保健业需要什么特殊的数据库呢?
PG:虽然InterSystems的Cache数据库在医疗保健业得到了广泛使用,它吸引人的特性使得在其它领域也受到越来多的重视,首先,临床方面要处理大量的非结构化和半结构化数据,医疗记录中的数据和收集数据的格式与普通数据是完全不一样的,存储方式也在不断发展,所有这一切都要求对象模型要具有内在的灵活性,既要捕捉到丰富的数据,存储也要有效地支持才行,也要使用新的数据类型,例如,目前越来越多的基因组信息被捕获用来诊断和治疗。医疗保健的另一个挑战是要让数据模型看起来更优美。临床数据数年后仍然有价值,而不象其它领域那样可能在几周内或几个月内有价值,这就需要增加新的数据、新的数据类型和新的关系,并且不能破坏现有应用程序和结构、以及数据库重组或卸载/重新加载周期,对象数据库技术有助于通过模式演化,使增量“无损”更改数据库结构成为可能,并通过对象概念的多态性为不同的对象类型或版本提供安全的访问。
记者:在对象/关系领域,总是要预防不匹配的问题。
PG:我认为预防不匹配变得越来越重要,十多年前,对象的概念被强化了,但学习起来很困难,这些概念都来自于国外专注于文件和数据库开发的开发商,相比传统的方法,开发一套基于对象的应用程序需要更多的步骤和工作,时至今日,情况正好相反:许多(甚至大多数)开发商都在思考它们正在尝试解决的问题,以及它们用来解决问题的数据模型。对象概念中的继承、封装和多态性已经成为方案框架和构建应用的天然方式,目前,在后端使用关系来存储反倒增加了额外的开发步骤,因为需要实现对象--关系之间的映射。
在设计时就要完成从关系到对象数据模型的转换,而不是在编码或执行时才进行转换,因为应用程序数据模型变得越来越复杂,富对象模型的优点是它天生就表现了双向关系、控制和分层,数据库中的对象模型减小了开发成本,相比关系数据库中使用多个JOIN而言,它显著地降低了运行时的开销。
记者:我们通常熟悉的是“事务数据库”,但什么是“事务位图索引”呢?
PG:传统上,用于事务处理和分析的数据往往是分开的,分析通常会建立数据仓库,这种分离机制使业务系统的性能和安全性都有所提升,大多数数据仓库主要是用于分析长期的数据,并不需要最新的精确到分钟的数据。通常,一周或一个月从业务系统数据库往数据仓库更新一次数据就已经足够了。位图索引是数据仓库最佳的方法:它为复杂查询提供了优秀的性能,即使在insert、update和delete操作时性能相对降低了,但也不会对事务系统产生恶劣影响,皆大欢喜。
现在焦点已经转向利用商务智能和其他分析技术作为应用程序的一部分,以便支持范围更广的每日决策需要,为了满足这种需求,我们已经开始以一种新的方法运行位图索引,既满足高性能查询,又满足高性能更新,从技术上来看,使用压缩技术替换简单的每行一位的存储技术,使存储效果更有效、更理想,在数据库引擎中以更优秀的方法处理位图,这种事务位图索引技术引发了实时分析开发的新浪潮。
记者:“数据库即服务”是一个新兴主题,特别是云计算,对于开发者而言,这意味着什么?对于数据库厂商,这又意味着什么?
PG:我不确定“数据库即服务”会成为一个成功的商业概念,因为目前的趋势是花钱购买某种应用程序服务,我所接触过的客户对“架构即服务”没什么兴趣,数据库即服务要求系统管理简单,但目前在企业级数据库软件上还看不到这一点,还需要能够透明地增加或移除系统功能,应用不能中断,在这些领取的改进将有助于降低操作成本,并提升整个系统的可用性。
数据库的一步步的发展大家是有目共睹的,相信数据库的明天一定会是更加的辉煌,不会让用户们失望,让我们共同期待吧。
【编辑推荐】