什么是存储计算分离?
存储计算分离是一种分层架构思想,即将存储能力和计算能力分开,各自服务化,通过高速网络连接;以AWS的大护具架构为例,底层统一采用S3存储,存储层上架设各种计算引擎比如HIVE、Spark等,如下图所示:
存储计算不分离的问题
以Hadoop为例说明,在传统Hadoop的使用中,存储与计算密不可分,而随着业务的发展,常常会因为为了扩存储而带来额外的计算扩容,这其实就是一种浪费;同理,只为了提升计算能力,也会带来一段时期的存储浪费,将计算和存储分离,可以更好地应对单方面的不足。
基于OSS构建数仓的优势
- 海量的存储空间,可弹性扩展;
- 极低的存储成本;
- 支持多种计算引擎,目前OSS上数据支持如下计算引擎:开源的Spark、Presto、Druid,Pig,Hive等,以及阿里云的MaxCompute,E-MapReduce、RDS-PG、Batch Compute等;
- 在计算效率上比肩HDFS类存储;
参考: