存储概览

MaxCompute存储采用存储与计算分离的架构,支持独立扩展存储和计算资源。其数据存储使用列式压缩方式,压缩比约为6.5倍,并默认以三个副本进行冗余存储,兼容单可用区(AZ)和多可用区(AZ)部署。此外,MaxCompute存储针对大规模数据分析查询进行了优化,具备高吞吐量的流式注入和读取能力。本文将为您介绍MaxCompaute存储的功能和特点。

存储的主要特性

MaxCompute存储主要特性如下:

  • 托管式

    MaxCompute存储是一项全托管式服务。您无需预配存储资源或预留存储单元。当您将数据写入MaxCompute,MaxCompute会自动为您分配存储空间,您只需为所用的存储空间付费。MaxCompute针对计算和存储单独收费。关于计费详情,请参见 计费项与计费方式

  • 支持加密

    MaxCompute支持存储加密能力,通过KMS托管密钥,实现数据存储加密或解密功能。关于加密详情,请参见存储加密

表数据

MaxCompute中存储的数据主要是表数据。表数据包括内部表、表克隆(CLONE TABLE)、表本地备份物化视图。您需要为用于这些资源的存储空间付费。 关于存储费用详情,请参见存储费用

  • 内部表主要是结构化数据,以列式格式存储数据。

  • 表克隆是内部表数据克隆,会克隆新数据副本,新数据副本存储独立于基表。

  • 本地备份是系统自动对表数据被删除或修改时备份数据的历史版本,这些数据版本会保留一定时间,并支持对保留周期内的数据进行快速恢复。备份数据默认免费保留1天时间,可设置保留周期大于1天。

  • 物化视图(Materialized View)是一种对预计算视图,定期保存和删除视图查询结果,以便在查询时直接复用,避免重复执行比较耗时的操作提升查询速度。物化视图是一种特殊的物理表,物化视图会存储实际的数据,占用存储资源。

外部表是一种特殊的数据存储类型,数据存储在MaxCompute之外,例如:OSS外部表Hologres外部表。外部表具有表架构(与内部表类似),但表数据路径指向外部数据存储区。MaxCompute不对外部表存储收费,由外部对应存储产品对数据存储收费。

元数据

MaxCompute元数据包括表架构、分区和聚簇规范、表生命周期时间、权限配置等信息。 MaxCompute会存储这些元数据,您无需为元数据存储付费。

存储计费模式

MaxCompute中的数据采用列式压缩存储,数据压缩比一般在6.5倍左右,数据默认采用三个副本冗余存储,存储规格支持选择单可用区(AZ)和多可用区(AZ)存储,存储费用只按一个副本压缩后的大小进行计费。详情请参见存储费用

分层存储

MaxComptue支持标准存储、低频存储、长期存储三种存储类型。根据业务规则,对表数据设置分层存储类型降低存储成本。详情请参见存储资源-分层存储

数据写入

您可以通过多种模式将数据写入到MaxCompute,介绍如下:

  • 离线批量写入(数据通道):通过多种方式将离线数据批量写入到MaxCompute表,对数据延迟不敏感(只要在调度周期执行完成即可满足需求)。

  • 离线数据流式写入(数据通道):持续不间断流式写入数据,对数据的可见延迟和请求延迟较高。

  • 实时数据写入(数据通道):可接受数据可见秒级延迟的场景下,实时数据先写入DataHub再同步MaxCompute。

  • 生成的数据:使用SQL语句将行插入现有表中或将查询结果写入表中。

  • 离线批量数据写入(外部表-湖仓一体):联邦计算分析场景,偶尔需要对数据进行搬运。

更多数据写入,详情请参见数据传输服务概述

数据读取

MaxCompute存储的数据主要在MaxCompute上进行分析查询,同时支持用户通过数据通道和JDBC进行批量数据读取,或通过外部表-湖仓一体读数据,并将数据写入OSS等湖存储。

数据生命周期

MaxCompute表的生命周期(Lifecycle),指表(分区)数据从最后一次更新的时间算起,在经过指定的时间后没有变动,则此表(分区)将被MaxCompute自动回收。这个指定的时间就是生命周期。通过设置生命周期可以实现自动数据清理或数据保留,降低存储成本。