架构解密从分布式到微服务:深入浅析内存,内存计算产品分析

本文深入分析了内存计算产品,包括SAP HANA的内存存储、并行计算与数据持久化策略,Hazelcast的分布式数据管理与优势,以及VoltDB的高性能内存关系型数据库特性。探讨了内存计算如何提升大数据实时计算性能,展示了内存计算产品在分布式系统中的重要角色。
摘要由CSDN通过智能技术生成

内存计算产品分析

本节对几个经典的内存计算产品进行研究和分析,以了解和掌握分布式内存计算领域的设计思想、设计原则、核心技术等相关知识和技能。

 SAP HANA

SAP HANA(简称HANA)的第1个特点是把数据全部放入内存中存储,由于内存存储的数据有易失性,系统掉电或者重启时内存中的数据会丢失,所以针对这个问题,HANA有一个后台的异步进程savepoint (Data persistence),定时把内存数据写回磁盘。

HANA的第2个特点是充分并行编程,利用NUMA架构与并行编程技术,把大数据量和计算量分散到不同的处理器中并行计算。

HANA 的第3个特点是最小化数据传输,这对于大数据实时计算有至关重要的影响,具体的做法如下。

首先,采用合适的数据压缩技术,尽可能地压缩数据的存储空间,这样一来,当数据从内存中加载到CPU Cache中时,一个Cache Line会加载更多的数据,如果也需要I/O传输,则传输量会小很多。HANA采用了数据字典的方式来压缩数据,用整数来表示相应的文本字符串,其原理如下图所示,将Customer 与 Material两个字段抽出来,在数据库记录里就可以用两个数值型字段来表示它们,仅此一种方式就节省了很多存储空间。有限的内存可以加载更多的数据,因此数据压缩技术基本上是大数据系统的标配技术之一。

架构解密从分布式到微服务:深入浅析内存,内存计算产品分析

 

其次,下推计算逻辑到数据存储层(数据库端),即把应用逻辑和计算由应用层转移到数据库层,这非常类似于我们很少使用的存储过程所做的事情。我们在处理数据时,通常的逻辑是先把数据从数据库中读出来,再进行相应的计算处理,最后把处理后的数据写回数据库。由于在数据库和应用程序之间要通过网络传输大量的数据包,所以网络资源的开销、延时、传输速率及网络带宽都导致了数据计算性能的下降。移动计算,而不是移动数据,这也是分布式计算中重要的指导思想之一。

如下所示为HANA的架构图。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值