对内存数据库的使用已达临界点

  • Roopesh Shenoy
  • 侯伯薇

2012 年 5 月 8 日

话题:微软语言 & 开发架构

微软的 David Campbell 在文章《内存数据库即将到到临界点(The coming in-memory database tipping point)》中说到,内存数据库离广泛采用越来越近了。他还说明了微软在这个领域的策略。

据 David 所说,以下各种趋势使得内存数据库会在五年内变得普遍:

  • 带宽和容量(硬盘、RAM)会得到提升,延迟会越来越小。
  • 多核 CPU 需要有效使用。
  • 随机存取磁盘上少量数据的能力,赶不上从磁盘读取的序列带宽(sequential bandwidth)的步伐。

数据库设计人员引领了新的设计方法:

  • 压缩以在 RAM 中存放更多数据——当需要的时候解压,这会比从磁盘读取使用更少的 CPU 周期,可能会降低几个数量级。
  • 新数据库算法——例如,基于列的方法 v.s. 传统基于行的方法,从而在多核系统中分布负载。

Gartner 在他的研究论文《2012 年十大技术趋势(The Top 10 Technology Trends for 2012)》中认为内存中计算(in-memory computing)是一种新趋势。其他厂商也已经计划迎合这个市场——例如,SAP 创建了HANA 平台,Oracle 开发了TimesTen产品。

微软针对这个趋势做了什么呢? David 解释说:

我们已经创建了基于列的存储引擎,并作为 Microsoft Excel 的“PowerPivot”插件的一部分发布。在 SQL Server 2012 中,这会作为 xVelocity 内存分析引擎发布,它是 SQL Server 分析服务的一部分。

我们的技术方法不仅考虑了最佳容量,还考虑了如何作为完整数据平台的一部分来整合和交付——最终这种方式会让客户获得最高的价值。

内存数据库并不是一种新的技术术语,我们已经拥有多种流行的持久和瞬变的数据库,像RedisMemcached,它们被用于缓存或者低延迟的数据访问。然而,有趣的是,我们发现,即便是专注于企业用户传统的关系型数据库提供商,现在也开始认真地采用内存中计算了。

查看英文原文:In-Memory Databases Reaching Tipping Point
微软语言 & 开发架构