第1章 内存计算概述

1.1 内存计算的兴起

早在2000年,一位年轻人在Intel开发者论坛上代表他所在的企业发言:“我想把整个互联网放在内存,放在随机存取内存中。”(1)他的发言引起了一阵笑声,但很快这个想法就被人淡忘了。这位青年人名叫Larry Page,当时他的公司并不知名,而后来则逐渐被人们熟知,这就是大名鼎鼎的Google。2006年,曾获图灵奖的微软科学家Jim Gray提出了一个新的观点:“磁带已死,磁盘即磁带,闪存即磁盘,内存为王”。如今,越来越多的互联网企业将数据放置在内存中,很多企业也将内存计算广泛应用于数据缓存、流式数据处理、大数据分析、物联网等领域以提升用户体验,加速产品价值实现。2012年,内存计算首次出现在Gartner的10大战略技术趋势中。2013年,Gartner将内存计算列为影响信息架构的十大技术趋势之一。2011到2014年,内存数据库管理系统和内存分析连续四年出现在Gartner新兴技术成熟度曲线中。隶属于IDG的ComputerWorld也在2014年将内存分析评为大数据分析八大趋势之一。毋庸置疑,内存计算如今已成为主流技术趋势并广泛应用于信息技术各领域中。

那么什么是内存计算?按照Forrester的定义,内存计算是利用内存来加速数据访问和应用的性能,并降低应用开发复杂度的技术。Gartner将内存计算定义为一种革命性的技术,使得企业应用可以在海量数据集上运行高级查询或复杂的事务处理,不仅在速度上快至少一个数量级,并且具有更好的可扩展性,同时仍保持数据的可用性、一致性和完整性。Gartner公司也强调,这里的内存指的是计算机的主存,即掉电后不再保留数据的内存,而并非闪存之类的非易失存储。GridGain网站将内存计算定义为一种中间层软件,将数据分布于一组集群服务器的内存中并实现并行处理。GridGain的定义虽然不尽全面,但也突出了内存计算的一个重要特点,即作为一个新的层次,通过部署在传统的中间层和数据库层之间,来提升整个架构的可扩展性、可用性和性能。

内存计算并不是一项新的和未经验证的技术。早在20世纪90年代,IBM公司的S/360大型机就已使用了内存计算技术,目前已经有超过50家软件厂商发布了内存计算相关产品。内存计算不仅应用于分析领域,也广泛应用在软件即服务、社交网络、金融、电信、在线游戏等领域。内存计算技术并非只有大型企业才消费得起,许多内存计算软件最大的客户即为中小企业。内存计算生逢其时,但还有很长的路要走,内存计算的兴起将对用户体验、应用设计原则、产品架构和企业战略产生巨大的影响。