MaxCompute存储采用存储与计算分离的架构,支持独立扩展存储和计算资源。其数据存储使用列式压缩方式,压缩比约为6.5倍,并默认以三个副本进行冗余存储,兼容单可用区(AZ)和多可用区(AZ)部署。此外,MaxCompute存储针对大规模数据分析查询进行了优化,具备高吞吐量的流式注入和读取能力。本文将为您介绍MaxCompaute存储的功能和特点。
存储的主要特性
MaxCompute存储主要特性如下:
表数据
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自动回收。这个指定的时间就是生命周期。通过设置生命周期可以实现自动数据清理或数据保留,降低存储成本。