访谈:SQL Server Everywhere仅仅是另一种数据库吗?
本地数据存储
DDJ:假如某人正在致力于像“Microsoft Money(微软货币)”的某种开发,它不必和任何中央服务器同步。除了备份以外你什么都不用做。在本地数据存储方面,是什么东西使得SQL Server Everywhere Edition可以挑选的优秀的数据库引擎呢?
SL:还有几个值得考虑的问题。第一个问题就是,“我需要什么功能?”如果我关心的全部功能就是本地数据存储,并不需要同步像产品目录这样的东西,那么你可能会看着引擎并且问道,“它是否太小了?我能把它放到我的应用程序中吗?”在很多情况下应用程序是重点,而非你选择的用于存储的数据库。你可能还会问,“它是否影响到我的整个应用程序的安装或运行时体验呢?” SQL Server Everywhere版本小而轻,使用过程存储,所以非常适合。一旦你想了解更多,就不得不看它的核心特征。例如,“这个引擎有查询处理机吗?”当然有了。“它能够处理其他的装载吗?”当你只有10个应用,你或许还能使用XML或者文本文件,但是一旦达到成百上千个以后,你就会遇到以前从来没有的问题。查询处理机在两个方面有助于问题的解决。首先,它以非常高效的方式让你得到数据子集。其次,你怎样把你正查询的信息装到内存中?若用XML,你可以查询XML文件来获取特定元素,但是经常你得把整个XML文件装到内存中以完成查询。
事务也变得相当重要。比方说我想要做一次更新,删除或者插入。如果因为掉电,丢失设备或者违反商业规则而失败了,我怎样确保它们以要么全有要么全无的方式被提交?在很多地方,人们说如果你仅仅给他们一个查询处理机和事务,那就是他们需要的全部了。
有几个产品当前发展受阻。那么,你需要静下心来看一看今后两三年的发展道路,看一看微软将会在哪些地方投资。随着一些新的方案变得重要,例如XML作为数据库数据类型,或者新的硬件体系结构的演进,你需要问这个数据库引擎是否能够继续发展。例如,引擎能否顺畅地在64位机上运行?长远来看你需要关注微软的战略投资。微软公开说,SQL Server Everywhere Edition是一项非常重要的战略投资。从工具角度来讲,Visual Studio将会做大量工作以确保SQL Server Everywhere Edition成为开发人员开发经历中第一位的焦点。
DDJ:你刚才提到你们将在Visual Studio "Orcas"之前发布3.1版本,和Orcas同时发布3.5版本。你也提到,虽然它被称作SQL Server Everywhere Edition,实际上并没有“server”需要安装,只是几个动态链接库。所以我认为在将来,一个应用程序可能正运行在3.1版本上,你可能还会在使用SQL Server Everywhere Edition 3.5版本的同一台机器上添加一个新的应用程序,这两个数据库引擎能够并行运行。我说的对吗?
SL:那是我们正在努力实现的一个基本原则。如果我有应用程序1已经安装并且正在工作,同时我又安装应用程序2,我想要保证应用程序1不会被中断。那么我们必然要支持SQL Server Everywhere Edition的并行安装。对于这一点有赞成观点也有反对观点,但是对于大部分客户来说,他们赞成并行。如果应用程序1正在3.1版本上运行,而3.5版本又推出了,应用程序1继续在3.1版本上运行直到应用程序1的开发组决定将它移到3.5版本上。
0
相关文章