"问题1:云数据仓库ADB设置分区键的问题,LIFECYCLE 设为10,如果第一天我写入数据并创建出10个分区,然后第二天我再创建1个分区,那被删除的分区是哪个?
问题2:那么LIFECYCLE =10,第一天创建的10个分区,全部都是10天的生命周期?https://help.aliyun.com/zh/analyticdb-for-mysql/developer-reference/create-table?spm=a2c4g.11186623.0.0.20617b0ezueFxe 按这里的文档,LIFECYCLE 是限制每个节点的分区上限。那么在我的例子,第一天创建10个分区已经达到上限,再继续创建分区的话就需要删除老分区。在你们的例子中,是一天创建1个分区,这很好理解,那自然是删除最早的一天的分区。但在我的例子中,我1天创建了10个分区,并达到LIFECYCLE设定的分区上限,官方文档有这么两段话,那一段比较准确?一:LIFECYCLE 365表示每个节点最多保留的分区个数为365,即如果数据保存天数为365天,则第366天写入数据后,系统会自动删除第1天写入的数据。二:您可以通过LIFECYCLE N关键字实现表生命周期管理,即对分区进行排序,超出N的分区会被过滤。
"
在云数据仓库ADB中,如果你将分区的LIFECYCLE设置为10,并在第一天写入数据并创建了10个分区,然后在第二天创建了一个新分区,那么被删除的分区将是最早的一个分区。
ADB的分区按照分区键的值进行排序,并根据LIFECYCLE参数设置保留的分区数量。当新的分区创建时,系统会检查现有的分区数量是否超过LIFECYCLE设置的值。如果超过了LIFECYCLE设置的值,系统会删除最早的一个分区。
在你的情况下,由于LIFECYCLE设置为10,当第二天创建新分区时,系统会检查分区的数量是否已经超过10个。如果超过了,那么最早的一个分区将被删除,以保持总分区数不超过10个。
"回答1: https://help.aliyun.com/zh/analyticdb-for-mysql/use-cases/schema-design?spm=a2c4g.11186623.0.i12
可以看考一下文档。
回答2:
建表时设置LIFECYCLE 10,表示每个节点最多保留的分区个数为10,即如果数据保存天数为10天,则第11天写入数据后,系统会自动删除第1天写入的数据。建表时设置好的生命周期,如果要修改为11,需要alter table去修改,修改后手动触发build任务,任务结束后生效。 此回答整理至钉群“云数据仓库ADB-开发者群”。"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。