很多刚初次接触MaxCompute的用户,面对繁多的产品文档内容以及社区文章,往往很难快速、全面了解MaxCompute产品全貌。同时,很多拥有大数据开发经验的开发者,也希望能够结合自身的背景知识,将MaxCompute产品能力与开源项目、商业软件之间建立某种关联和映射,以快速寻找或判断MaxCompute是否满足自身的需要,并结合相关经验更轻松地学习和使用产品。
本文将站在一个更宏观的视角来分主题地介绍MaxCompute产品,以期读者能够通过本文快速获取对MaxCompute产品的认识。
概念篇
产品名称:大数据计算服务(英文名:MaxCompute)
产品说明:MaxCompute(原ODPS)是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使您可以经济并高效的分析处理海量数据。
产品说明的前半部分,将MaxCompute定义为大数据计算服务,可以理解为它的功能定位于支持大数据计算,同时是一款基于云的服务化的产品。后半部分,说明了它的适用场景:大规模数据仓库、海量数据处理、分析。
单从这里还不能了解到大数据计算服务提供了哪些的计算能力,具备怎样的服务化?产品定义中出现了数据仓库字眼,我们能够了解到MaxCompute能够处理较大规模(这里提到了PB级别)结构化数据。而“海量数据处理”除了数据规模大之外,对于非结构化数据的处理有待验证,同时”分析”是否在常见的SQL分析能力之外,提供了其他复杂分析的能力。
带着这样的问题,我们继续开始介绍,希望在后面的内容中能够清晰地回答这些问题。
架构篇
在介绍功能前,先提纲挈领从产品整体逻辑结构开始,让读者有个全貌了解。
MaxCompute提供了云原生、多租户的服务架构,在底层大规模计算、存储资源之上预先构建好了MaxCompute计算服务、服务接口,提供了配套的安全管控手段和开发工具管理工具,产品开箱即用。
用户可以在阿里云控制台,在几分钟内完成服务开通并创建MaxCompute项目,无需进行底层资源开通、软件部署、基础设施运维,系统自动进行(由阿里云专业团队)版本升级、问题修复。
功能篇
数据存储
- 支持大规模计算存储,适用于TB以上规模的存储及计算需求,最大可达EB级别。同一个MaxCompute项目支持企业从创业团队发展到独角兽的数据规模需求;
- 数据分布式存储,多副本冗余,数据存储对外仅开放表的操作接口,不提供文件系统访问接口
- 自研数据存储结构,表数据列式存储,默认高度压缩,后续将提供兼容ORC的Ali-ORC存储格式
- 支持外表,将存储在OSS对象存储、OTS表格存储的数据映射为二维表
- 支持Partition、Bucket的分区、分桶存储
- 更底层不是HDFS,是阿里自研的盘古文件系统,但可借助HDFS理解对应的表之下文件的体系结构、任务并发机制
- 使用时,存储与计算解耦,不需要仅仅为了存储扩大不必要的计算资源
多种计算模型
需要说明的是,传统数据仓库场景下,