MaxCompute(原名ODPS)是一种快速、完全托管的EB级数据仓库解决方案。
产品优势
- 大规模计算存储
MaxCompute适用于100GB以上规模的存储及计算需求,最大可达EB级别。
- 多种计算模型
支持SQL、MapReduce、UDF(Java/Python)、Graph、基于DAG的处理、交互式、内存计算、机器学习等计算类型及MPI迭代类算法。
- 强数据安全
提供多层沙箱防护、细粒度权限管理及监控。
- 低成本
计算存储更高效,有效降低采购成本。
- 免运维
基于MaxCompute的Serverless无服务器的设计思路,用户只需关心作业和数据,而无需关心底层分布式架构及运维。
- 极致弹性扩展
MaxCompute提供按量付费模式下的作业级别的资源管理。用户无需受困于资源扩展难题,系统会自动扩展计算、存储、网络等资源,最大程度地节省成本。
系统架构
功能概述
- 数据通道
- 批量历史数据通道(Tunnel)
Tunnel提供高并发的离线数据上传下载服务,支持每天TB/PB级的数据导入导出,特别适合于全量数据或历史数据的批量导入。Tunnel提供Java编程接口,并且在MaxCompute的客户端工具中,提供对应的命令实现本地文件与服务数据的互通。
- 实时增量数据通道(DataHub)
DataHub支持多种数据传输插件,如Logstash、Flume、Fluentd、Sqoop等,同时支持日志服务Log Service中的投递日志到MaxCompute。
- 计算及分析任务
- SQL
- MaxCompute以表的形式存储数据,支持多种数据类型。
- MaxCompute不支持事务、索引,也不支持update或delete操作。
- MaxCompute的SQL语法与传统事务型数据库有差别。
- MaxCompute主要用于100GB以上规模的数据计算,因此MaxCompute SQL最快支持在分钟或秒钟级别完成查询返回结果。
- UDF:即可以通过创建用户自定义函数来满足计算需求。
- MapReduce:提供Java编程接口进行MaxCompute MapReduce开发。
- Graph:MaxCompute提供的Graph功能是一套面向迭代的图计算处理框架,典型应用:PageRank、单源最短距离算法、K-均值聚类算法。
- SQL
- SDK:当前支持Java SDK及Python SDK。
- 安全:MaxCompute提供了功能强大的安全服务。
与其它阿里云服务的集成使用
MaxCompute**与**DataWorks
DataWorks基于MaxCompute计算和存储,提供工作流可视化开发、调度运维托管,完善的ETL和数仓管理能力,以及SQL、MR、Graph等多种经典的分布式计算模型。DataWorks可以理解为MaxCompute的一种Web客户端。
MaxCompute**与数据集成
MaxCompute可以通过数据集成加载不同数据源数据,或者将MaxCompute的数据导出到各种业务数据库。
MaxCompute与机器学习PAI
机器学习PAI是基于MaxCompute的一款机器学习算法平台,实现了数据处理、模型训练、服务部署到预测的一站式机器学习。
MaxCompute与QuickBI
数据在MaxCompute进行加工处理后,将Project添加为QuickBI数据源,即可在QuickBI页面对MaxCompute表数据进行报表制作,实现数据可视化。
MaxCompute与AnalyticDB
for MySQL
AnalyticDB for MySQL是海量数据实时高并发在线分析(Realtime OLAP)的云计算服务,通过MaxCompute离线计算产出数据后,导入分析型数据库,供业务系统调用分析。
MaxCompute**与推荐引擎
推荐引擎是在阿里云计算环境下建立的一套推荐服务框架,通常由三部分组成:日志采集、推荐计算和产品对接。在推荐引擎中可以将MaxCompute项目添加为计算资源,从而获取MaxCompute表。
MaxCompute**与表格存储
表格存储(Table Store)是构建在阿里云飞天分布式系统之上的分布式NoSQL数据存储服务,MaxCompute
2.0支持直接通过外部表方式访问表格存储中的表数据并进行处理(访问OTS非结构化数据)。
MaxCompute与OSS
MaxCompute支持直接通过外部表方式访问对象存储(OSS)中的表数据并进行处理。
MaxCompute与OpenSearch
阿里云开发搜索OpenSearch是一款大规模分布式搜索引擎平台。数据通过MaxCompute进行计算处理后,可以在OpenSearch平台上通过添加数据源的方式接入MaxCompute数据。
MaxCompute**与移动数据分析
移动数据分析(Mobile Analytics)是阿里云的一款移动APP数据统计分析产品,为开发者提供一站式数据化运营服务,数据可以一键同步至MaxCompute,结合业务需求对数据进一步加工和分析。
MaxCompute**与日志服务
日志服务能快速完成数据采集、消费、投递以及查询分析等操作。日志数据采集后可同步到MaxCompute,通过MaxCompute对日志数据进行分析。
MaxCompute与RAM**
RAM是阿里云为客户提供的用户身份与资源访问控制服务。MaxCompute与RAM的集成使用主要有两个场景:
- 通过DataWorks使用MaxCompute时,子账户的身份管理。
主账户开通并创建项目后,若需要多个账户协同开发,必须由主账号到RAM服务中创建子账户,将RAM子账户添加为项目成员从而进行协同开发。此时RAM只起到用户身份管理功能,相关的权限管理不在RAM上空值。
- MaxCompute处理非结构化数据时,通过RAM对非结构化数据进行授权。
目前MaxCompute支持直接处理非结构化数据,前提条件之一是需要在RAM中授予MaxCompute访问OSS或Table Store的权限。
阿里云其它产品支持字符集的情况
Table
Store、机器学习PAI、OSS、QuickBI均只支持UTF-8(?)
DataWorks上传数据支持多种字符集,但到DataWorks会统一为UTF-8,数据下载支持UTF-8和GBK。