架构解密从分布式到微服务:深入浅析内存,内存计算技术前世今生

内存计算技术的前世今生

无论是我们的手机、笔记本计算机还是公司的服务器,我们都明显感受到内存越来越大,在很长一段时间内(包括现在),我们仅仅把大内存当作缓存来使用。除了关系型数据库,我们最熟悉的就是缓存中间件如Memcache、Redis等,它们用来简单缓存Key-Value的数据,而大量的数据计算仍然离不开关系型数据库。

其中的原因在笔者看来,主要有以下几点。

(1)直到近几年,我们所开发的大量软件都是面向企业使用的MIS系统,绝大多数数据被存放在关系型数据库中,甚至图片这种明显不合适的二进制数据也被尽量存放在数据库中,而大部分软件工程师要做的工作就是围绕数据库的CRUD操作及页面展现而年复一年地重复编程。

(2)由于之前的系统产生的数据量不大,数据处理的逻辑也不是很复杂,同时不追求实时性,因此传统的关系型数据库及数据仓库产品足够应付,无须更高端的技术。

(3)长期以来,内存都是比较昂贵的硬件,容量越大的内存条价格越高,机械硬盘则不断刷新性能与存储容量的新纪录。这种情况更加巩固了关系型数据库的地位,并促进了大量的基于硬盘(文件)的数据处理系统的发展。

突如其来的互联网时代则是一个全新的软件时代。一方面,系统的用户量庞大,系统中的业务数据也随之迅速膨胀,数据量越来越大,运算越来越复杂;另一方面,由于互联网用户的个人意识增强,在其个性化诉求增加的同时忠诚度大大降低,导致我们不得不努力提高系统的响应速度,提升用户体验,同时使系统变得更加智能以吸引和留住用户。

那么,问题来了,如果提升系统的响应速度,则如何让系统变得更加智能呢?

这个问题很复杂,但关键点只有两个:内存计算及更快的大数据分析技术。如果深入分析,则内存计算技术可以说是基础。大家都知道,Spark可以说是很火的开源大数据项目,就连EMC旗下专门做大数据的Pivotal也转而投入Spark技术的开发中。那么,Spark 的核心和关键技术是什么?就是内存计算。下图给出了各种存储的速度对比,可以看出内存计算达到传统机械硬盘的10万倍,因此Spark尽可能地将数据放入内存中运算,尽可能得到实时结果,这种新颖大胆的设计思想使得Spark从一开始就超越了Hadoop。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值