使用SQL Server内存数据库前需要理解的三个问题

日期: 2012-12-11 作者:Serdar Yegulalp翻译:孙瑞 来源:TechTarget中国 英文

人们总是被各种术语所迷惑。当我第一次看到关于SQL Server内存数据库的相关报道时,我和其他人一样都理解错了。我认为它只不过是运行在大量RAM上的SQL Server实例罢了。但是这个名为Hekaton项目的SQL Server内存数据库仿佛包含了更多的内容,它将出现在下一版本的数据库平台当中。

现在的问题是,它将如何与你之前的SQL Server安装实现完美的集成?   首先最基础的,微软官方给出的内存数据库定义是非常准确的:在内存数据库系统中,包括数据库引擎和尽可能多的数据都将直接存储在RAM中。当然,这对于提高交易处理速度是非常有帮助的,但需要有两个前提:1、数据库和引擎都要尽可能的小……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

人们总是被各种术语所迷惑。当我第一次看到关于SQL Server内存数据库的相关报道时,我和其他人一样都理解错了。我认为它只不过是运行在大量RAM上的SQL Server实例罢了。但是这个名为Hekaton项目的SQL Server内存数据库仿佛包含了更多的内容,它将出现在下一版本的数据库平台当中。现在的问题是,它将如何与你之前的SQL Server安装实现完美的集成?

  首先最基础的,微软官方给出的内存数据库定义是非常准确的:在内存数据库系统中,包括数据库引擎和尽可能多的数据都将直接存储在RAM中。当然,这对于提高交易处理速度是非常有帮助的,但需要有两个前提:1、数据库和引擎都要尽可能的小;2、系统中的RAM要尽可能的大。以便数据库、引擎与RAM相互适应。

  随着内存硬件的成本在不断下降,越来越多的服务器都不断增加内存配置,因此上述的两个条件中,后者在实现起来显然要比前者更加容易。而对于SQL Server来说则更是如此。

  除了内存设备的成本降低之外,CPU的处理速度以及并行化也在不断加深。因此,目前主流的数据库产品都在这些方面上做文章,为了提升CPU的利用率,它们会尽可能地将数据库操作更加向CPU靠拢。

  在此之前,SAP、Oracle都在做此类尝试,并取得了不错的反馈。所以SQL Server也在积极地对这一技术进行深入研发。在微软TechNet博客上面的一篇文章中,作者David Campbell探讨了内存数据库技术的发展趋势,并指出数据存储模式将由传统的行式逐渐转化为列式存储。

  事实上,微软在Excel的PowerPivot插件上就已经使用到了列式存储技术。Campbell介绍说:“在SQL Server 2012中,我们还添加了xVelocity内存分析引擎,它是作为SQL Server分析服务(SSAS)的一部分来交付给用户。”从长远角度来看,xVelocity组件将逐渐独立出来,也许在下一版本的SQL Server内存数据库中,我们就能看到它成为一个高度垂直化的解决方案,专门应对数据仓库或者数据分析等工作负载。

  这也就引出我之前所提到的一个问题:要想真正利用好内存处理技术,我们之前的SQL Server安装是否需要进行升级或者改造?这很有可能,但是也是要视情况而定,以下是在使用内存数据库时我们所需要注意的三个问题:

  1、内存数据库解决方案需要我们对现有数据库进行部分改造

  基于列式存储的内存数据库在进行设置的时候依然需要进行一定的变更。在微软发布的一个案例中分享了SQL Server 2012中现有的一些内存功能,其中就提到当需要进行数据库变更的时候,更改元数据值就可以了。所以根据你的设置,可能所需的工作会很少,但并不代表没有。

  2、数据库越大,性能提升越多,但费用也越高

  那些面向分析和数据仓库的工作负载是最适合内存数据库的(假设所有处理都在内存中进行),你将能看到最大限度的性能提升。列式结构的内存数据库并不是针对交易型负载进行的优化,也就是传统的CRUD(create, read, update, delete)操作。也许未来内存技术将逐渐扩展到交易系统领域,但这不是一朝一夕的事。

  3、因此,我们并不需要把所有东西都转移到内存数据库上

  我们可以先从那些处理器密集型的工作负载入手,如数据分析。数据分析系统在内存数据库的清单中应该出在最高的优先级之上。即使你还没有特别计划要迁移到其他版本的SQL Server,记住这一点也会帮助你更好地在未来完成SQL Server系统的迁移。

作者

Serdar Yegulalp
Serdar Yegulalp

Serdar Yegulalp从1994年到2001年为Windows杂志写作,覆盖了广泛的技术方面。他现在是《The Windows 2000 Power Users Newsletter》一书的出版者,辛勤钻研他擅长的Windows NT, Windows 2000 and Windows XP领域,并为TechTarget写专栏。

翻译

孙瑞
孙瑞

相关推荐

  • 利用内存技术提升性能

    内存处理(In-memory processing)可以提升数据挖掘与分析,以及其他动态数据处理性能。尽管如此,在使用内存处理技术时,还需考虑数据保护、成本与性能瓶颈。

  • 内存技术:数据库强力加速器

    即使回顾十年以前,对于将企业级数据库管理系统跑在主内存上都是不可想象的。但随着时间的推移,RAM的价格稳步下降,这使得要做到这一点不再需要付出极为昂贵的代价。

  • 内存技术提高速度、性能和灵活性的12大特性

    今年6月10日,Larry在推出最新Oracle Database In-Memory时举了很多例子,以说明这种新技术如何提高企业日常应用的性能

  • 分析师:内存技术为业务创新带来无限可能

    随着大数据、快数据等概念的兴起,内存技术再次受到企业的关注。内存技术的价值在于它改变了许多业务的运转方式,让决策制定与分析靠的更近。