本文为您介绍MaxCompute查询加速MCQA(MaxCompute Query Acceleration)功能,并帮助您了解该功能的系统架构、关键特性、应用场景和使用限制。

功能

MaxCompute的MCQA功能可以对中、小型查询作业进行加速优化,将执行时间为分钟级的查询作业缩减至秒级,同时完全兼容原MaxCompute的查询功能。

MCQA支持将主流BI工具或SQL客户端连接至MaxCompute项目,开展即席查询(Ad Hoc)或商业智能(BI)分析。

MCQA使用独立的资源池,不占用配额组,可以自动识别查询作业,缓解排队压力,优化使用体验。

加速后的查询作业计费方式和SQL作业的按量计费方式保持一致,详情请参见查询加速(MCQA)按量计费

说明 查询作业回退为普通SQL作业后,按原SQL作业计费模式计费,公测结束后正式商业化开始收费,收费模式和原SQL计量计费一致,商业化通知请参见公告

系统结构

MCQA采用了进程预拉起、数据异步加载、算子并发执行、热数据缓存至内存及无需排队优先提交等多种优化手段,系统整体架构如下。系统架构

关键特性

MCQA功能的关键特性如下:
  • 低延时

    采用高效、低延时的资源调度策略,并且使用单独的资源池。

  • 自动识别

    支持自动识别查询作业大小,优先快速返回查询结果或通过批处理返回结果,为分析不同规模或复杂度的查询作业提供保障。

  • 语法兼容

    SQL语法与原MaxCompute SQL语法完全一致。

  • 支持选择查询方式

    支持客户端选择MCQA或批处理方式执行查询作业,您也可以强制指定使用MCQA适应对时延敏感的场景。

应用场景

MCQA功能的应用场景如下。
场景 说明 场景特点
即席查询(Ad Hoc) 您可以通过MCQA优化中小规模数据集(百GB规模内)的查询性能,直接对MaxCompute表开展低时延的查询操作,以便快速完成数据开发及数据分析。 您可以根据实际需求,灵活选择查询条件,快速获取查询结果并调整查询逻辑。对查询时延的要求在几十秒内。使用者通常为掌握SQL技能的数据开发或数据分析师,希望使用熟悉的客户端工具开展查询分析。
商业智能(BI) 利用MaxCompute搭建企业级数据仓库时,ETL会将数据加工处理为面向业务可消费的聚合数据。借助MCQA的低延时、弹性并发、数据缓存等特性,结合MaxCompute表分区、分桶等优化设计,可以低成本满足多并发、快速响应的报告生成、统计分析及固定报表分析需求。 查询的数据对象通常为聚合后的结果数据,适用于数据量较小、多维查询、固定查询、高频查询场景。查询延时要求高,秒级返回(例如大部分查询不超过5秒,不同查询作业由于数据规模和查询复杂度不同,查询时间有较大差异)。
海量数据明细查询分析 MCQA可以自动识别查询作业特征,既能快速响应,处理小规模作业,同时还可以自动匹配大规模作业资源需求,满足分析人员分析不同规模和复杂度的查询作业的需求。 需要探索的历史数据量大、真正需要的有效数据量不大、查询延时要求适中。使用者通常为业务分析人员,往往需要从明细数据中探寻业务规律,发现业务机会,验证业务假设。

使用限制

MCQA功能的使用限制如下。
限制项 说明
功能
  • MCQA功能仅支持标准版、按量计费的MaxCompute服务。
  • MCQA功能不支持包年包月计费模式。如果您需要使用MCQA功能,请开通按量计费模式,并授予跨项目访问权限,实现对包年包月服务的支持。您也可以再创建一个采用按量计费模式的项目。
  • MCQA功能不支持开发者版的MaxCompute服务,需要升级为标准版。
查询
  • 单次执行的MCQA作业如果超过1000个,系统会将MCQA作业默认回退为普通查询作业。
  • 您通过客户端提交的MCQA作业默认30s超时,通过DataWorks临时查询提交的MCQA作业默认20s超时,超时后MCQA作业将默认回退为普通查询作业。
  • 仅存储格式为ALIORC的表的数据才可能被缓存至内存中进行加速。
  • 不支持查询外部表。
UDF 不支持在MCQA作业中使用通过MaxCompute创建的UDF、UDAF及UDTF。
查询并发 单个MaxCompute项目的MCQA作业最大并发数为120。