随着云计算时代的到来,更多的出于成本控制的考虑(并不是唯一考虑因素), 很多的存储系统都采用存储计算分离架构,这种架构的好处是显而易见的.
解耦计算和存储负载,系统负载均衡调度更加灵活.在存储和计算耦合的架构中,我们很难在存储负载和计算负载之间达成比较好的平衡,原因在于这两种负载对计算机资源的诉求不同.
系统更加的健壮,计算可以认为是无状态的,同时计算本身是比较复杂的,这也意味着存在bug的概率比较高,一般而言,存储的逻辑比较简单,因此出现问题的概率也比较小,因此这种架构下,如果计算层出现问题,可以很方面的进行故障恢复,另外就是系统的弹性比较好,尤其是计算层.
系统的资源利用率提高了,节约成本.
存储计算分离是一把双刃剑,它的好处如上所述,它的缺点也很明显
计算层远离了存储层,存在大量的网络IO.我们知道在计算机世界里,计算里存储越近,性能越好,计算机系统无处不在的cache就是很好的证明.
网络具有不确定,增加了计算层的复杂度,因为需要考虑网络的不确定性,在一些并行计算逻辑中,如果某一条线路上的网络存在波动,那么将会影响整个计算的延迟.另外就是这种网络的不确定性在网络分区的情况下变得更加复杂,需要专门的协议和机制来保证数据的一致性
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。